javascript - $.ajax 完成函数未触发

标签 javascript ajax jquery

我有以下代码,

$(".delete.red").live("click", function () {
    var self = $(this);
    var loadUrl = $(this).attr('href');
    alert("clicked");
    //var interestParents = self.parents('div:eq(4)').attr("id");
    $.ajax({
        type: "POST",
        url: loadUrl,
        dataType: "json"
    }).success(function (msg) {
        alert(msg);
        self.parent().parent().parent().parent().parent().parent().remove();
        $(".selected strong").text(msg.icount)

    });
    return false;
});

此代码在单击链接时执行的操作是将请求发送到单击的链接 href,然后它应该找到该链接的最外层父级并将其自身从标记中删除。

但是,请求没有到达 done() 函数,我现在收到的反馈几乎就像没有被调用一样,这看起来很奇怪,因为当我查看网络选项卡时,我可以看到链接 href 已被访问,并且我可以看到 200 OK 响应。

这是怎么回事?

最佳答案

使 success 成为作为参数传递的选项对象的一部分

$.ajax({
        type: "POST",
        url: loadUrl,
        dataType: "json",
        success: function (msg) {
            alert(msg);
            self.parent().parent().parent().parent().parent().parent().remove();
            $(".selected strong").text(msg.icount);
        }
});

根据网站,成功回调在 jQuery 1.8 中已被弃用

Deprecation Notice: The jqXHR.success(), jqXHR.error(), and jqXHR.complete() callbacks will be deprecated in jQuery 1.8. To prepare your code for their eventual removal, use jqXHR.done(), jqXHR.fail(), and jqXHR.always() instead.

根据该网站,live方法也已被弃用

As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers.

关于javascript - $.ajax 完成函数未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13452220/

相关文章:

javascript - Angular Js 中的表单布局

c# - 使用 jQuery 将 byte[] 渲染为图像

jquery - jquery中的反向滚动

javascript - AngularJS:Ng-repeat in groups of n elements

javascript - 如何确保将正确的参数传递给循环中声明的函数调用?

javascript - 如何对嵌套数组求和

javascript - 单击表格内容并使其可编辑

java - 使用 ajax 在 wicket 中的下拉选择中添加工具提示

jquery - Spring Boot - 使用 ModelAndView 返回 ResponseEntity

php - AJAX 不工作