Heim > Web-Frontend > js-Tutorial > Wie können Sie alle AJAX-Anfragen auf einer Webseite abfangen?

Wie können Sie alle AJAX-Anfragen auf einer Webseite abfangen?

Susan Sarandon
Freigeben: 2024-10-26 14:21:02
Original
803 Leute haben es durchsucht

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

Einbinden in alle AJAX-Anfragen auf einer Seite

Das Ändern von AJAX-Anfragen zur Durchführung zusätzlicher Aktionen kann für Debugging, Analysen oder andere Zwecke von entscheidender Bedeutung sein . Da jedoch mehrere Skripts von Drittanbietern unterschiedliche AJAX-Bibliotheken auf einer Seite verwenden, kann es schwierig erscheinen, sie alle abzufangen.

AJAX-Anfragen abfangen

Zur Überwachung jedes AJAX Anfrage können Sie das XMLHttpRequest-Objekt verwenden. Hier ist eine robuste Lösung, die sogar mit mehreren Bibliotheken funktioniert:

(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);
    };
})();
Nach dem Login kopieren

Dieser Code überschreibt die offene Methode von XMLHttpRequest, um einen Ereignis-Listener für das Ladeereignis zu registrieren. Wenn eine Anfrage initiiert wird, wird die Startzeit protokolliert. Wenn die Anfrage abgeschlossen ist, werden die Endzeit, der Bereitschaftsstatus und der Antworttext protokolliert.

Hinweis: Beachten Sie, dass diese Methode nicht für native Abrufanfragen funktioniert. Sie können jedoch bei Bedarf einen ähnlichen Proxy-Ansatz für den Abruf übernehmen.

Das obige ist der detaillierte Inhalt vonWie können Sie alle AJAX-Anfragen auf einer Webseite abfangen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage