jquery - 如何使用 jQuery 检查是否存在任何 ajax 挂起?

标签 jquery ajax

我正在尝试执行一些操作:

var function some_action() {
    // ...
}

但是这个 Action 需要所有的ajax都完成,所以我是这样写的:

$(document).one('ajaxStop', some_action);

好的,当所有挂起的 ajax 请求完成时,该函数将被触发。

但有时当我这样做时,没有待处理的 ajax 请求,因此在这些情况下 one 事件不会触发!

所以我正在寻找一种方法来检查是否有任何 ajax 请求正在进行?

喜欢:

if($.hasAjaxRunning()) {
    $(document).one('ajaxStop', some_action);
} else {
    some_action();
}

这样我就可以保证该操作被解雇。

最佳答案

简单的“IF”语句

if ($.active == 0) {
   some_action();
}

作为 jQuery 函数

$.hasAjaxRunning = function() {
   return $.active != 0;
}

关于jquery - 如何使用 jQuery 检查是否存在任何 ajax 挂起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26212848/

相关文章:

jquery - 使用 jQuery 重新定位元素

javascript - 结合使用 php 和 jquery

ruby-on-rails - 如何通过 Ajax 请求处理 Rail 的 flash?

javascript - Rails AJax 获取动态 URL

jquery - Ajax 附加对象在 dom 中不可见

php - Ajax 自动更新和服务器负载

javascript - jquery 悬停函数 onLoad 在 firefox 中不起作用

JQuery 2 个选择的乘法

javascript - 如何触发更改函数以在加载时触发?

javascript - 如何让图片库部分显示 "AJAX Loading.gif"? (jQuery)