Javascript 为许多ajax调用显示ajax微调器。

Javascript 为许多ajax调用显示ajax微调器。,javascript,jquery,ajax,Javascript,Jquery,Ajax,目前,我正在使用ajax设置方法调用显示微调器: (function() { $.ajaxSetup({ beforeSend: showLoader, complete: hideLoader, error: hideLoader }); })(); 这工作正常,但现在出现的问题是,当许多ajax调用发生时,complete正在关闭加载程序 有什么简单的方法来处理这个问题吗?我唯一能建议的是,保留一个计数器,记录有多少ajax调

目前,我正在使用ajax设置方法调用显示微调器:

(function() {
    $.ajaxSetup({
        beforeSend: showLoader,
        complete: hideLoader,
        error: hideLoader
    });
})();
这工作正常,但现在出现的问题是,当许多ajax调用发生时,
complete
正在关闭加载程序


有什么简单的方法来处理这个问题吗?

我唯一能建议的是,保留一个计数器,记录有多少ajax调用正在进行,当一个调用被递增时,当一个调用完成时,去犯罪,然后在
hideLoader
函数中检查计数器,如果它高于
0
请不要隐藏它。

您可以查看jQuery的功能和方法


jQuery中有
DOM
事件,用于绑定ajax开始和ajax结束事件。使用

.ajaxStart();
.ajaxStop();
在DOM中显示加载程序。

您可以使用,在所有Ajax调用执行后调用

$(document).ajaxStop(function() {
  //call hideLoader here
});

好的,
complete
将在一个ajax调用完成而不是全部调用完成时触发。您是在为那些已完成的请求隐藏微调器吗?jQuery在什么时间范围内检查这一点,从文档:jQuery检查是否有任何其他未完成的Ajax请求。如果没有剩余,jQuery将触发ajaxStop事件。如果没有时间范围,则取决于您的请求量和客户端。变化很大。
$(document).ajaxStop(function() {
  //call hideLoader here
});