在浏览器中检测AJAX请求(客户端)

11
有没有一种方法可以通过JavaScript(客户端)检测任何正在发生的AJAX请求,甚至获取进行中的请求数量?
我提出这个问题的原因是,在一个有多个开发人员参与的应用程序中,一些开发人员在进行AJAX请求时忽略了启动和停止处理指示器。
是否有办法检测到这一点?
我知道处理它的最好方式是触发一些请求,并在请求完成时进行处理,但我无法控制其他开发人员或重写旧代码,所以我正在寻找一些可以注入到JavaScript中以检测请求的东西。

7
购买一个大一点的球杆,当开发者没有启动或停止指示器时,用它来惩罚他们。使用版本控制确保你惩罚的是正确的人。 - Pekka
@Kristopher:你在使用框架吗?如果没有,你是如何处理XHR对象的? - Christian C. Salvadó
@CMS:是的,我正在使用jQuery。抱歉没有说明。 - Kristopher
每次都会是jQuery吗?一定吗? - Allen Rice
1个回答

11

我已经想出来了(使用jQuery):

$(document).ajaxStart(function() { /* start indicator */ });

$(document).ajaxStop(function() { /* stop indicator */ });

有人知道如何在没有使用jQuery的情况下完成这个吗? - joshcomley
你是否使用任何库?如果没有,可以编写一个常用函数来处理ajax请求并在那里启动/停止指示器。这其实就是jQuery的ajaxStart + ajaxStop所做的,如果你查看jQuery源代码就会发现。 - Kristopher

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接