gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 11:38:05 25 4
gpt4 key购买 nike

我有以下代码,

$(".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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com