Maison >interface Web >js tutoriel >Comment intercepter toutes les requêtes AJAX sur une page Web ?
Accéder à toutes les requêtes AJAX sur une page
Modifier les requêtes AJAX pour effectuer des actions supplémentaires peut être crucial pour le débogage, l'analyse ou à d'autres fins . Cependant, avec plusieurs scripts tiers utilisant différentes bibliothèques AJAX sur une page, il peut sembler difficile de tous les intercepter.
Intercepter les requêtes AJAX
Pour surveiller chaque AJAX demande, vous pouvez utiliser l'objet XMLHttpRequest. Voici une solution robuste qui fonctionne même avec plusieurs bibliothèques :
(function() { var origOpen = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function() { console.log('request started!'); this.addEventListener('load', function() { console.log('request completed!'); console.log(this.readyState); //will always be 4 (ajax is completed successfully) console.log(this.responseText); //whatever the response was }); origOpen.apply(this, arguments); }; })();
Ce code remplace la méthode open de XMLHttpRequest pour enregistrer un écouteur d'événement pour l'événement de chargement. Lorsqu'une requête est lancée, elle enregistre l'heure de début. Une fois la requête terminée, elle enregistre l'heure de fin, l'état de préparation et le texte de la réponse.
Remarque : Gardez à l'esprit que cette méthode ne fonctionne pas pour les requêtes de récupération natives. Cependant, vous pouvez adopter une approche de proxy similaire pour la récupération si nécessaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!