微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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”警报到达“成功”警报之前,不要惊讶。

原文地址:https://www.jb51.cc/jquery/181783.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐