我想发送一个使用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