我的php有header('Content-type: application/json')
和json_encode
我用来将数据发送到php文件的ajax代码为dataType: 'json'
,我将数据作为字符串发送(json.stringify
)。
问题是,我不能让$_POST['data']
对字符串起作用
有什么方法可以将它转换成一个物体?
编辑:我想要实现的是,将数据从ajax发送到php,其中查询从数据库查找信息,php文件使用JSON向ajax发送数组,ajax显示它。
/>
Ajax的:
function op_prof(obj) {
var xval = obj.id;
$.ajax({
type: "POST",
url: '../script/profile.php',
dataType: 'json',
data: JSON.stringify({'u_search':'xval'}),
cache: false,
success: function(data) {
console.log(data);
alert(data);
alert({u_search:xval}['u_search']);
$("#co_profile").html(data).show();
}
});
};
PHP:
<?php include(dirname(__FILE__). '/../script/config.php');
session_start();
$id = $_POST['u_search'];
foreach($pdo->query("SELECT * FROM Users WHERE ID='$id'") as $row) {
$fullname = $row['FullName'];
$data = array("u_data"=> true,"inpt"=>"<p>My name is " . $fullname . "</p>");
header('Content-type: application/json');
echo json_encode($data);
?>
<?php $pdo = null; ?>
我也想知道实现这一目标的任何其他方式(即使不使用JSON)
答案 0 :(得分:0)
尝试json_decode("php://input");