$ .ajax完成函数也没有解雇

Udd*_*ers 0 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;
});
Run Code Online (Sandbox Code Playgroud)

这个代码在点击它向请点击的链接href发送请求的链接时做了什么,它应该找到该链接的最外层父节点并从标记中删除它自己.

但是请求没有得到done()我现在得到的功能反馈它几乎就好像它没有被调用,这看起来很奇怪,因为当我查看网络选项卡时,我可以看到链接href已被访问,我可以看到200 OK回应.

Waht正在进行中?

Bru*_*uno 8

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

$.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);
        }
});
Run Code Online (Sandbox Code Playgroud)

根据该网站,jQuery 1.8中已经弃用了成功回调

弃用注意: jQuery 1.8中不推荐使用jqXHR.success(),jqXHR.error()和jqXHR.complete()回调.要准备最终删除的代码,请使用jqXHR.done(),jqXHR.fail()和jqXHR.always().

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

从jQuery 1.7开始,不推荐使用.live()方法.使用.on()附加事件处理程序.