Maison > interface Web > js tutoriel > Comment intercepter toutes les requêtes AJAX sur une page Web ?

Comment intercepter toutes les requêtes AJAX sur une page Web ?

Susan Sarandon
Libérer: 2024-10-26 14:21:02
original
804 Les gens l'ont consulté

How Can You Intercept All AJAX Requests on a Web Page?

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);
    };
})();
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal