我知道关于这个问题有很多不同的问题,但它们都不属于我。我有一个Ajax请求如下:AJAX,JSON,jQuery和PHP
var responsePacket;
$.ajax({
dataType: 'json',
type:'POST',
data:{
"updatePacket":{
"job":"name-update",
"firstName":firstName,
"lastName":lastName
}
},
processData: false,
url:'modify.php',
success: function(json){
console.log(json);
responsePacket = json;
if(responsePacket.updateStatus==true){
genAlertAlignAndShow('Name Successfully Updated', false, 4000);
}
else{
genErrorAlignAndShow('Name Update Failed!', false, 4000);
}
}
})
而且是我在另一端PHP如下:
$updatePacket = json_decode($_POST['updatePacket'], true);
//and I access variables from the JSON Object like this:
$job = $updatePacket['job'];
为响应AJAX,PHP文件会冲出来一个简单的JSON对象,是的,我的标题设置为application/json
。这就是我一个输出的JSON响应,我已经测试过它,它似乎回到了AJAX请求时,我钻机它返回一个静态响应:
$responsePacket = array("updateStatus"=>true);
echo json_encode($responsePacket);
但现在的问题是 作为你可以看到我输出的数据到控制台,但它说的是null
,我推断这表明JSON没有正确地到达PHP。那么,是否有适当的方法来创建JSON对象并准备一个AJAX请求,以便将数据保存到PHP脚本中。
我一直在努力解决这个问题约3小时,现在欢迎任何建议。
'var_dump($ _ POST);' –
我已经复制到上面的代码并创建一个名为'modify.php'的文件,您的代码似乎对我来说工作正常。我能够看到'updateStatus'是'true'。当'updateStatus'为'false'时,你有'if'语句处理case吗?问题可能存在吗? –