我正在制作一个类似
的ajax请求 var object = JSON.stringify(object);
// var url = "http://"+baseURL +"/"+endpoint;
$.ajax({
contentType: "application/json",
dataType: 'json',
type:type,
data:object,
url:endpoint,
success:function(data){
if (typeof callback == "function"){
alert(data);
}
},
error: function (xhr, textStatus, errorThrown) {
console.log(xhr.statusText);
console.log(xhr.responseText);
console.log(xhr.status);
console.log(errorThrown);
}
});
其中var=object
是字符串化的json对象,当它进入ajax请求时。在php方面,我试图通过
<?php
echo ($_POST['object']);
exit;
?>
我的成功回调函数将数据警告为“null”。我做错了什么?
谢谢, 亚历
答案 0 :(得分:1)
跳过json.stringify,你不希望数据作为帖子体中的json文本。要填充帖子数组,需要将其作为application/x-www-form-urlencoded
发送。要在jquery中执行此操作,只需将data属性设置为对象而不是字符串。
// remove this.... var object = JSON.stringify(object);
// var url = "http://"+baseURL +"/"+endpoint;
$.ajax({
dataType: 'json',
type:"POST", // <--- Should be post
data:object,
url:endpoint,
success:function(data){
if (typeof callback == "function"){
alert(data);
}
},
error: function (xhr, textStatus, errorThrown) {
console.log(xhr.statusText);
console.log(xhr.responseText);
console.log(xhr.status);
console.log(errorThrown);
}
});
当前发送数据时可以获取数据,但是你必须在PHP方面做更多的工作。
$_POST = json_decode(file_get_contents("php://input"),true);