2010-04-26 15 views
10

¿Existe alguna manera de detectar mediante JavaScript (lado del cliente) las solicitudes AJAX que se están produciendo e incluso obtener el número de solicitudes en curso?Detectar solicitudes AJAX en el navegador (lado del cliente)

La razón por la que pregunto: Tengo un indicador de procesamiento global en una aplicación que está siendo trabajada con varios desarrolladores, algunos de los cuales no inician y detienen el indicador cuando realizan solicitudes AJAX.

¿Hay alguna manera de detectar esto?

Sé que la mejor manera de manejarlo sería activar algo con las solicitudes y cuando las solicitudes se completen, pero no puedo controlar a los otros desarrolladores o reescribir el código heredado, entonces estoy buscando algo que pueda inyectar con JavaScript para detectar solicitudes.

+7

comprar un gran club y vencieron a los desarrolladores con él cuando descuidan para iniciar y detener el indicador. Usa el control de versiones para asegurarte de estar golpeando a la persona adecuada. –

+0

@Kristopher: ¿Estás usando un marco? si no, ¿cómo manejas el objeto XHR? – CMS

+0

@CMS: Sí, estoy usando jQuery. Perdón por no haber especificado eso. – Kristopher

Respuesta

11

lo he descubierto (usando jQuery):

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

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

¿Alguien sabe cómo hacer esto * sin * jQuery? – joshcomley

+0

¿Está utilizando alguna biblioteca? De lo contrario, haga una llamada a una función común para realizar sus solicitudes de ajax e iniciar/detener el indicador allí. Eso es realmente lo que hacen jQuery's ajaxStart + ajaxStop si miras la fuente de jQuery. – Kristopher

Cuestiones relacionadas