我想通過JSON來處理PHP和後面的例子,但無法弄清楚爲什麼我無法獲得設置dataType爲json時發生的成功響應。任何幫助,我需要做什麼,在哪裏可以找到一個很好的教程將不勝感激。謝謝!從PHP與JSON請求沒有反應
var selected = $('#getID').val();
$.ajax({
url: 'includes/ajaxCalls.php',
type: "POST",
data: {action: 'test', id: selected},
dataType: 'json',
success: function (results) {
alert("completed");
},
fail: function (data) {
console.log('Could not get posts, server response');
}
});
PHP
if (isset($_POST['action']) && !empty($_POST['action'])) {
$action = json_decode($_POST['action']);
switch ($action) {
case 'test' : test();
break;
case 'blah' : blah();
break;
default:
echo "hello";
}
}
function test() {
header("Content-Type: application/json", true);
$array = array(0,1,2,3);
echo json_encode($array);
}
什麼是當前的響應,你得到?請嘗試記錄來自服務器的響應(php文件) –
@tai你不應該在這個$ action = json_decode($ _ POST ['action']);'line'中使用'json_decode'。因爲AJAX請求是作爲數組本身取出的,所以'$ _POST ['action']'將解決你的目的。 由於這個原因,你的'default:'在沒有提供JSON的switch中被執行。 –