jquery ajax完成功能没有触发

前端之家收集整理的这篇文章主要介绍了jquery ajax完成功能没有触发前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个非常简单的jQuery Ajax调用(下)。 Ajax调用执行,我可以在Firebug Net面板中看到服务器返回200 OK,并返回一个字符串“OK”,因为它应该。但是,完成和失败的功能不会触发!非常沮丧!

(“之前”和“之后”警告都会触发。)

为了简单起见(作为一种调试技术),我把它剥离下来,它是最裸的骨架,但是处理程序仍然不会触发。我在这里看不到什么

postUrl= "/mod/users/check_email/";
dataToPost= { email: "test@not.me" };

alert("before");
$.ajax
({
    type: "POST",url: postUrl,data: dataToPost,done: function() 
    {
        alert("Success.");
    },fail: function() 
    {
        alert("Sorry. Server unavailable. ");
    },});  // end Ajax call 

alert("after");

解决方法

您需要链接done()和fail()函数,它们不是$ .ajax中使用的选项对象的一部分:
$.ajax({
    type: "POST",url : postUrl,data: dataToPost
}).done(function()  {
    alert("Success.");
}).fail(function()  {
    alert("Sorry. Server unavailable. ");
});

另外,由于ajax是异步的,如果“after”警报到达“成功”警报之前,不要惊讶。

原文链接:/jquery/181783.html

猜你在找的jQuery相关文章