2012-08-31 2 views
1

J'ai un problème où je dois être capable de détecter les appels AJAX sur une page ASP.NET générale. Cependant, cette page est générée automatiquement, donc je ne peux pas y ajouter de code ou de gestionnaire de script, qui ne sont pas déjà générés.Détection d'un appel/requête AJAX à l'aide de JQuery ou de Javascript

J'ai fondamentalement besoin d'un moyen de détecter les appels AJAX génériques avec JQuery ou JavaScript général. Je suis incapable d'ajouter le code qui effectue les appels ajax non plus. Il doit donc être aussi générique que possible et être capable de détecter un appel AJAX.

J'ai déjà essayé la fonction AJAXComplete JQuery, mais cela n'a pas fonctionné car les appels ajax n'ont pas de début ou de fin assignés.

La raison pour laquelle j'ai ce problème est parce que j'ai un contrôle serveur écrit en C# ASP.NET et son un plugin à une page, et a besoin de détecter les requêtes AJAX sur la page. Cependant je ne peux pas modifier le contenu de la page, seulement le contrôle.

Est-ce possible? Des idées?

EDIT:

En fin de compte nous avons fixé le problème d'une autre manière. Nous n'avions pas besoin de détecter les appels AJAX après tout. nous avons eu JavaScript à la place qui se charge lorsque notre contrôle fait et nous enveloppa le document JQuery fonction prêt avec la fonction de chargement de la page comme ceci:

function pageLoad() { 
    $(document).ready(function() { 
     stuff(); 
    }); 
} 
+0

Si vous ne pouvez rien ajouter à la page, comment vous attendez-vous à le faire, avec une boule de cristal? Sinon jQuery a des gestionnaires ajax globaux, comme ajaxstart et ajaxstop qui vous permettront de savoir quand une requête ajax est démarrée/arrêtée, et si cela ne fonctionne pas pour vous, vous avez fait quelque chose de mal, car toutes les requêtes ajax ont un démarrage et un arrêt. – adeneo

Répondre

1

Je ne sais pas c'est qui fonctionne pour vous, mais seule solution est,

jQuery(document.body).ajaxStart(function(){ 
    // start ajax call 
}).ajaxStop(function(){ 
    // end ajax call 
}); 
Questions connexes