我知道關於這個問題有很多不同的問題,但它們都不屬於我。我有一個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嗎?問題可能存在嗎? –