Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 4352|Répondre: 2

[JavaScript] Le crochet ajax pour le développement web intercepte toutes les requêtes XMLHttpRequest

[Copié le lien]
Publié sur 22/06/2023 10:29:45 | | | |
Exigences : Intercepter toutes les requêtes XMLHttpRequest, et lorsque l’interface backend retourne le code de statut invalide de la connexion, passer directement à l’interface de connexion et ne plus le transmettre. Il peut également être utilisé pour demander l’ajout de signatures unifiées, la résolution automatique de protocoles, les statistiques d’appels d’interface, etc.

Révision:

jQuery intercepte les résultats retournés par Ajax
https://www.itsvse.com/thread-9570-1-1.html
Bien que jQuery puisse intercepter les requêtes Ajax, il est limité à l’appelant utilisant les méthodes ajax dans jQuery et ne peut pas intercepter les requêtes via XMLHttpRequest natif.Puisque la requête ajax dans jQuery est aussi une encapsulation de XMLHttpRequest, nous pouvons en fait intercepter XMLHttpRequest

ajax-hook est une bibliothèque légère pour intercepter les objets XMLHttpRequest du navigateur, qui peut être utilisée pour prétraiter les requêtes, réponses et erreurs avant que l’objet XMLHttpRequest n’initie une requête, après avoir reçu le contenu de la réponse, et lorsqu’une erreur survient. Ajax-hook est hautement compatible et peut fonctionner sur n’importe quel navigateur supportant ES5, car il ne dépend pas des fonctionnalités d’ES6.

Principe : ajax-hook personnalise les méthodes et propriétés de XMLHttpRequest pour écraser l’objet XMLHttpRequest global. Une couche de proxy est enveloppée pour l’objet XMLHttpRequest.

Adresse Open Source :La connexion hyperlientérée est visible.

Adresse CDN :La connexion hyperlientérée est visible.

Proxy vs. Hook

Proxy () et hook() peuvent être utilisés pour intercepter les requêtes XMLHttp globales. Leurs différences sont :Hook() possède une granularité d’interception fine, peut être spécifique à une méthode, un attribut ou un rappel de l’objet XMLHttpRequest, mais il est plus difficile à utiliser, et souvent, non seulement la logique métier doit être dispersée dans divers callbacks, mais aussi sujette aux erreurs. tandis queProxy () présente un degré élevé d’abstraction, et le contexte de requête est construit (la configuration des informations de requête peut être obtenue directement dans chaque rappel), ce qui est plus simple et plus efficace à utiliser.

La plupart du temps, nousIl est recommandé d’utiliser la méthode proxy() sauf si elle ne répond pas à vos besoins

Essayez d’ajouter jQuery l’interception de requête ajax et l’interception proxy dans ajax-hook, le code est le suivant :

Essayez d’envoyer une demande get via jQuery et vous pourrez la voirLes deux peuvent être interceptés, comme montré dans la figure ci-dessous :



Envoyez une requête en utilisant XML natif XMLHttpRequest, découvrezSeul l’ajax-crochet peut intercepter, comme montré dans la figure ci-dessous :



Autres utilisations du proxy ajax-hook :

Exemple:La connexion hyperlientérée est visible.

(Fin)





Précédent:Les instructions EF SQL GÉNÈRENT AUTOMATIQUEMENT IS NULL OU IS NOT NULL
Prochain:.NET/C# Analyse simple du code source HttpClient
 Propriétaire| Publié sur 22/06/2023 10:32:52 |
Requêtes et réponses API par interception fetch() :https://stackoverflow.com/questi ... onses-in-javascript
 Propriétaire| Publié sur 18/04/2024 08:39:18 |
Intercept HTTP Response 401 Code de connexion de saut non autorisé :

Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com