我的问题是问题的变体here https://stackoverflow.com/questions/970967/jquery-ajax-call-function-when-all-requests-are-complete
然而,有两点不同:
我不知道有多少个AJAX请求。当然,至少有10个。它们是并发的,或者几乎是并发的,而且每次请求的数量都会发生变化。
我想要调用的函数也会发出 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(使用前将#替换为@)