Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 4352|Antwort: 2

[JavaScript] Der ajax-hook für Webentwicklung fängt alle XMLHttpRequest-Anfragen ab

[Link kopieren]
Veröffentlicht am 22.06.2023 10:29:45 | | | |
Anforderungen: Alle XMLHttpRequest-Anfragen abfangen und wenn die Backend-Schnittstelle den ungültigen Anmelde-Status zurückgibt, direkt zur Anmeldeoberfläche springen und diese nicht weitergeben. Es kann auch verwendet werden, um die Hinzufügung einheitlicher Signaturen, automatische Protokollauflösung, Interface-Call-Statistiken usw. anzufordern.

Rezension:

jQuery fängt die von Ajax zurückgegebenen Ergebnisse ab
https://www.itsvse.com/thread-9570-1-1.html
Obwohl jQuery Ajax-Anfragen abfangen kann, ist es darauf beschränkt, dass der Aufrufer Ajax-Methoden in jQuery verwendet und Anfragen nicht mit nativem XMLHttpRequest abfangen kann.Da die Ajax-Anfrage in jQuery ebenfalls eine Kapselung von XMLHttpRequest ist, können wir tatsächlich XMLHttpRequest abfangen

ajax-hook ist eine leichte Bibliothek zum Abfangen von Browser-XMLHttpRequest-Objekten, die verwendet werden kann, um Anfragen, Antworten und Fehler vorzuverarbeiten, bevor das XMLHttpRequest-Objekt eine Anfrage initiiert, nach Erhalt des Antwortinhalts und wenn ein Fehler auftritt. Ajax-Hook ist hochkompatibel und kann auf jedem Browser ausgeführt werden, der ES5 unterstützt, da es nicht auf ES6-Funktionen angewiesen ist.

Prinzip: ajax-hook passt die Methoden und Eigenschaften in XMLHttpRequest an, um das globale XMLHttpRequest-Objekt zu überschreiben. Eine Proxy-Schicht wird für das XMLHttpRequest-Objekt gewickelt.

Open-Source-Adresse:Der Hyperlink-Login ist sichtbar.

CDN-Adresse:Der Hyperlink-Login ist sichtbar.

Proxy vs. Hook

Sowohl proxy() als auch hook() können verwendet werden, um globale XMLHttpRequests abzufangen. Ihre Unterschiede sind:hook() hat eine feine Interzeptionsgranularität, spezifisch für eine bestimmte Methode, ein Attribut oder einen Callback des XMLHttpRequest-Objekts sein kann, ist jedoch umständlicher zu verwenden, und oft muss nicht nur die Geschäftslogik in verschiedenen Rückrufen verteilt werden, sondern ist auch fehleranfällig. währendproxy() besitzt einen hohen Grad an Abstraktion, und der Anfragekontext wird erstellt (die Konfiguration der Anfrageinformationen kann direkt in jedem Callback abgerufen werden), was einfacher und effizienter zu bedienen ist.

Meistens haben wirEs wird empfohlen, die Proxy()-Methode zu verwenden, es sei denn, sie entspricht nicht Ihren Bedürfnissen.

Versuchen Sie, jQuery Ajax Request Interception und Proxy Interception in ajax-Hook hinzuzufügen, der Code ist wie folgt:

Versuche, eine Get-Anfrage mit jQuery zu senden, dann kannst du sie sehenBeide können abgefangen werden, wie in der untenstehenden Abbildung dargestellt:



Senden Sie eine Anfrage mit native XMLHttpRequest, DiscoverNur Ajax-Hook kann abfangen, wie in der untenstehenden Abbildung dargestellt:



Weitere Verwendungen des Ajax-Hook-Proxys:

Beispiel:Der Hyperlink-Login ist sichtbar.

(Ende)





Vorhergehend:EF SQL-Anweisungen generieren automatisch IS NULL oder IS NICHT NULL
Nächster:.NET/C# HttpClient-Quellcode-einfache Analyse
 Vermieter| Veröffentlicht am 22.06.2023 10:32:52 |
Intercept fetch()-API-Anfragen und -Antworten:https://stackoverflow.com/questi ... onses-in-javascript
 Vermieter| Veröffentlicht am 18.04.2024 08:39:18 |
Abfangen HTTP-Antwort 401 Unautorisierter Sprung-Login-Code:

Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com