我有一個頁面,我試圖做一個AJAX調用,但它不工作,我很難理解爲什麼。我的電話是:AJAX URL問題...很奇怪
$.ajax({
type: "GET",
url: "<relative URL>/index.php?action=x",
dataType: "JSON"
}).success(function(person) {
alert(person.name) //alerts naem
});
return false;
});
和PHP是:
<?
if($_GET["action"] == "x"){
$person = array("name"=>"Jon Doe","Reputation"=>"Good");
header("Content-Type: application/json");
echo json_encode($person);
}
?>
我不認爲這個問題是一個錯誤的URL,因爲這是工作電話的C/P。在我看來(但我不確定)它選擇重新使用原始加載源頁面時的舊「操作值」。出於某種原因,它完全忽略了我的行動價值......?
任何想法?
如果您使用瀏覽器的控制檯,您是否看到正在發送的網絡呼叫?如果是這樣,你可以看看回應是什麼。那會告訴你它是否真的返回一些東西。如果是這樣的話,也許你可以用前面提到的評論者提到的.done替換.success(儘管這取決於你的jquery版本)。其次,你不能直接在php和jquery之間傳遞json。我相信你首先必須通過$ .parseJSON(人)傳遞返回值,那麼你可以訪問該屬性作爲person.name – lonewolf217 2014-10-03 15:02:26
。成功是正確的,我一直在使用它 – 2014-10-03 15:03:51
你不需要使用$ .parseJSON作爲他已經將數據類型設置爲JSON,並且他從服務器返回JSON – 2014-10-03 15:05:30