我有以下代码,
$(".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
响应。
Waht是怎么回事?
答案 0 :(得分: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);
}
});
根据网站
,jQuery 1.8中已弃用成功回调弃用通知: jqXHR.success(),jqXHR.error()和 在jQuery 1.8中不推荐使用jqXHR.complete()回调函数。至 为最终删除代码做好准备,使用jqXHR.done(), jqXHR.fail()和jqXHR.always()代替。
根据该网站,实时方法也已被弃用
从jQuery 1.7开始,不推荐使用.live()方法。 使用.on()附加事件处理程序。