我有一种跟踪涉及$ .ajaxSetup()的当前Ajax请求并计数beforeSends&completes的方法。
jsFiddle Demo
var ajaxProcs = 0;
$.ajaxSetup({
beforeSend : function () { ajaxProcs++; },
complete : function () { ajaxProcs--; }
});
问题是,如果给定的$ .ajax()调用具有beforeSend或complete,它将抛出正确数量的Ajax请求运行。
例如,这将覆盖它,并且不会将ajaxProcs计数加1。
$.ajax({
beforeSend : function () { /* blah blah */ }
});
是否可以同时运行ajaxSetup和$ .ajax Override?
最佳答案
尝试这个:
var ajaxProcs = 0;
$(document).ajaxSend(function(){
ajaxProcs++;
});
$(document).ajaxComplete(function(){
ajaxProcs--;
});
这将在每个jQuery ajax调用上运行,无论您绑定到各个请求的回调是什么。