我有一种跟踪涉及$ .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调用上运行,无论您绑定到各个请求的回调是什么。

07-24 20:09