jQuery Ajax:- 如何删除挂起的 ajax 调用和最近的活动 ajax 调用



我正在为我的网站使用jQuery.ajax,用户可以在其中选中多个复选框。从选中的复选框中,用户将获得数据。

对于每个选择框,它都在执行 ajax 请求并显示结果。

但是我遇到了一个问题,假设用户选中第一个复选框,然后再次取消选择第一个复选框并再次选择第二个复选框。因此,对于选择第一个复选框,它正在执行第一个 ajax 调用,当用户取消选择第一个选择框时,它正在执行第二个 ajax 调用,然后对于第二个选择框,它正在执行第三个 ajax 调用。

因此,同时有 3 个 ajax 调用处于活动状态,但我想要一种方法来中止所有以前的 ajax 调用,这些调用仍处于挂起状态或正在进行中,并根据上次/最近的 ajax 调用显示结果。

我用于 Ajax 调用的代码:

   jQuery.ajax({url: '/xyz.php',
    success: function(data) {
    //do something
    }
});
你可以

这样做。

var CurrentAjaxReq = null;
if(CurrentAjaxReq != null)
{
CurrentAjaxReq.abort(); 
}
CurrentAjaxReq = jQuery.ajax({url: '/xyz.php',
success: function(data) {
 CurrentAjaxReq  = null;
//do something
}
});

hy 你可以先中止 ajax 调用,

var myAjax = jQuery.ajax({url: '/xyz.php',
success: function(data) {
//do something
}
});
//abort first and than send new ajax
myAjax .abort()

最新更新