我想發送一個使用jQuery的ajax請求。從本教程中,我試試這個簡單的腳本:ajax request.done使腳本崩潰了嗎?
function show(){
$("#mesg").html("begin");
var request = $.ajax({
type: "POST",
url: "some url",
data: '{"user_name": "NAME"}',
contentType: "application/json; charset=utf-8",
dataType: "json"
});
$("#mesg").html("waiting");
request.done(function(){
$("#mesg").html("done sending");
});
$("#mesg").html("still waiting");
request.fail(function(){});
$("#mesg").html("end of function");
}
因此請求應該失敗,#mesg的內容應該是「函數結束」。但是,我得到的是「等待」,這是request.done()之前。那麼這裏是否有語法錯誤?
您使用的是哪個版本的jQuery?如果它早於1.5,'.ajax()'不支持promise接口,所以我會認爲你的腳本在嘗試使用'.done()'時會崩潰,並且這與處理停在「waiting」信息。你在控制檯中是否有任何錯誤? – nnnnnn 2012-02-04 01:03:36
這就是問題所在!顯然我從w3school複製了這個:src =「http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js」,並沒有注意到它不是最新的。擰我!非常感謝! – Thien 2012-02-04 01:32:29
不客氣。從那以後,我發佈了我的評論作爲答案... – nnnnnn 2012-02-04 01:35:50