所有AJAX请求完成时的JQuery调用函数

2024-05-03

我的问题是问题的变体here https://stackoverflow.com/questions/970967/jquery-ajax-call-function-when-all-requests-are-complete

然而,有两点不同:

  1. 我不知道有多少个AJAX请求。当然,至少有10个。它们是并发的,或者几乎是并发的,而且每次请求的数量都会发生变化。

  2. 我想要调用的函数也会发出 AJAX 请求。我不希望 AJAX 请求永远持续下去(这是我第一次尝试时发生的情况)。我只想要一次这个功能。

这是我的代码:

$("#calculateButton").ajaxComplete(function() {
    $(this).unbind();
    $(this).click();
});

那么我tried要做的是将 ajaxComplete 回调附加到计算按钮。问题是每次 ajax 请求完成时都会执行此操作。而我想要的是函数在什么时候执行allAJAX 请求已完成。

有什么办法可以做到这一点吗?当我写出来的时候,听起来很复杂。我应该放弃并创建一个 hacky 解决方法吗?


Use .ajaxStop()而不是你当前的方法。

$("#calculateButton").ajaxStop(function() {
    $(this).unbind(); // $(this).unbind("ajaxStop") -> this is not needed as unbind will remove everything, but leaving it here as an FYI
    $(this).click();
});

http://api.jquery.com/ajaxStop/ http://api.jquery.com/ajaxStop/

Note:更新了上面的代码以停止无限循环。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

所有AJAX请求完成时的JQuery调用函数 的相关文章

随机推荐