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