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); }; })();
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!