Maison interface Web js tutoriel Intercepter l'analyse globale de l'instance de requête ajax via JS

Intercepter l'analyse globale de l'instance de requête ajax via JS

Mar 28, 2017 pm 02:39 PM
ajax js intercepter 请求

Avez-vous déjà eu les besoins suivants : besoin d'ajouter une signature unifiée à toutes les requêtes ajax, besoin de compter le nombre de fois qu'une certaine interface est demandée, besoin de limiter la méthode de requêtes http pour obtenir ou publier, besoin de analyser les protocoles réseau d'autres personnes, etc. Alors, comment ? Pensez-y, si vous parvenez à intercepter toutes les requêtes ajax, alors le problème deviendra très simple !

Adresse du code source Ajax-hook : https://github.com/wendux/Ajax-hook

Comment utiliser

1. Introduisez ajaxhook.js

<script src="wendu.ajaxhook.js"></script>
Copier après la connexion

2. Interceptez les rappels ou fonctions ajax requis.

hookAjax({
//拦截回调
onreadystatechange:function(xhr){
console.log("onreadystatechange called: %O",xhr)
},
onload:function(xhr){
console.log("onload called: %O",xhr)
},
//拦截函数
open:function(arg){
console.log("open called: method:%s,url:%s,async:%s",arg[0],arg[1],arg[2])
}
})
Copier après la connexion

ok, on utilise la méthode get de jQuery (v3.1) pour tester :

// get current page source code 
$.get().done(function(d){
console.log(d.substr(0,30)+"...")
})
Copier après la connexion

Résultat :

> open called: method:GET,url:http://localhost:63342/Ajax-hook/demo.html,async:true
> onload called: XMLHttpRequest
> <!DOCTYPE html>
<html>
<head l...
Copier après la connexion

interception Succès! Nous pouvons également voir que jQuery3.1 a abandonné onreadystatechange et utilisé onload à la place.

API

hookAjax(ob)

1.ob, le type est un objet, la clé veut une interception rappel ou fonction, la valeur est notre fonction d'interception.

2. Valeur de retour : XMLHttpRequest originale. Si vous avez une demande d'écriture et que vous ne souhaitez pas être intercepté, vous pouvez utiliser new this.

unHookAjax()

1. Interception de charge après la désinstallation, l'interception sera invalide.

Modifier le comportement d'Ajax

Intercepter toutes les requêtes ajax, détecter la méthode de requête, si c'est "GET", interrompre la requête et donner une invite

hookAjax({
open:function(arg){
if(arg[0]=="GET"){
console.log("Request was aborted! method must be post! ")
return true;
}
} 
})
Copier après la connexion

Tout intercepter requêtes ajax , demande d'ajout uniforme d'un timestamp

hookAjax({
open:function(arg){
arg[1]+="?timestamp="+Date.now();
} 
})
Copier après la connexion

Modifier les données renvoyées par la requête "responseText"

hookAjax({
onload:function(xhr){
//请求到的数据首部添加"hook!" 
xhr.responseText="hook!"+xhr.responseText;
}
})
Copier après la connexion

Résultat :

hook!<!DOCTYPE html>
<html>
<h...
Copier après la connexion

Avec ces exemples, je crois que cela va démarrer. Les exigences mentionnées sont facilement réalisables. Enfin, testez unHook

hookAjax({
onreadystatechange:function(xhr){
console.log("onreadystatechange called: %O",xhr)
//return true
},
onload:function(xhr){
console.log("onload called")
xhr.responseText="hook"+xhr.responseText;
//return true;
},
open:function(arg){
console.log("open called: method:%s,url:%s,async:%s",arg[0],arg[1],arg[2])
arg[1]+="?hook_tag=1";
},
send:function(arg){
console.log("send called: %O",arg[0])
}
})
$.get().done(function(d){
console.log(d.substr(0,30)+"...")
//use original XMLHttpRequest
console.log("unhook")
unHookAjax()
$.get().done(function(d){
console.log(d.substr(0,10))
})
})
Copier après la connexion


Sortie :

open called: method:GET,url:http://localhost:63342/Ajax-hook/demo.html,async:true
send called: null
onload called
hook<!DOCTYPE html>
<html>
<he...
unhook
<!DOCTYPE
Copier après la connexion

Remarque

1 La valeur de retour de la fonction d'interception est. un booléen, si vrai, la requête ajax sera bloquée. La valeur par défaut est false et la requête ne sera pas bloquée.

2. Les paramètres de toutes les fonctions d'interception de rappel sont l'instance XMLHttpRequest actuelle, telle que onreadystatechange, onload ; toutes les fonctions d'interception de la méthode d'origine ajax transmettront les paramètres d'origine à la fonction d'interception sous la forme. d'un tableau. Vous Ceci peut être modifié dans la fonction d'interception.

Ce qui précède est l'exemple d'analyse de demande ajax globale d'interception JS présentée par l'éditeur. J'espère qu'il vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra. à vous à temps.

Articles connexes :

Explication détaillée des instances d'interception des requêtes ajax par les intercepteurs

Utilisation de Mock.js dans l'environnement serveur Node.js Tutoriel sur l'interception des requêtes AJAX

Comment vérifier s'il s'agit d'une requête ajax via php

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS Apr 03, 2024 am 11:55 AM

La technologie de détection et de reconnaissance des visages est déjà une technologie relativement mature et largement utilisée. Actuellement, le langage d'application Internet le plus utilisé est JS. La mise en œuvre de la détection et de la reconnaissance faciale sur le front-end Web présente des avantages et des inconvénients par rapport à la reconnaissance faciale back-end. Les avantages incluent la réduction de l'interaction réseau et de la reconnaissance en temps réel, ce qui réduit considérablement le temps d'attente des utilisateurs et améliore l'expérience utilisateur. Les inconvénients sont les suivants : il est limité par la taille du modèle et la précision est également limitée ; Comment utiliser js pour implémenter la détection de visage sur le web ? Afin de mettre en œuvre la reconnaissance faciale sur le Web, vous devez être familier avec les langages et technologies de programmation associés, tels que JavaScript, HTML, CSS, WebRTC, etc. Dans le même temps, vous devez également maîtriser les technologies pertinentes de vision par ordinateur et d’intelligence artificielle. Il convient de noter qu'en raison de la conception du côté Web

Comment résoudre l'erreur 403 rencontrée par la requête jQuery AJAX Comment résoudre l'erreur 403 rencontrée par la requête jQuery AJAX Feb 20, 2024 am 10:07 AM

Titre : Méthodes et exemples de code pour résoudre les erreurs 403 dans les requêtes jQuery AJAX L'erreur 403 fait référence à une demande selon laquelle le serveur interdit l'accès à une ressource. Cette erreur se produit généralement parce que la demande manque d'autorisations ou est rejetée par le serveur. Lorsque vous effectuez des requêtes jQueryAJAX, vous rencontrez parfois cette situation. Cet article explique comment résoudre ce problème et fournit des exemples de code. Solution : Vérifiez les autorisations : assurez-vous d'abord que l'adresse URL demandée est correcte et vérifiez que vous disposez des autorisations suffisantes pour accéder à la ressource.

Comment résoudre l'erreur 403 de la requête jQuery AJAX Comment résoudre l'erreur 403 de la requête jQuery AJAX Feb 19, 2024 pm 05:55 PM

jQuery est une bibliothèque JavaScript populaire utilisée pour simplifier le développement côté client. AJAX est une technologie qui envoie des requêtes asynchrones et interagit avec le serveur sans recharger la page Web entière. Cependant, lorsque vous utilisez jQuery pour effectuer des requêtes AJAX, vous rencontrez parfois des erreurs 403. Les erreurs 403 sont généralement des erreurs d'accès refusé par le serveur, probablement en raison de problèmes de politique de sécurité ou d'autorisation. Dans cet article, nous verrons comment résoudre la requête jQueryAJAX rencontrant une erreur 403.

Comment supprimer les messages de tous les inconnus dans les messages privés de Kuaishou ? Les messages privés d'inconnus peuvent-ils être interceptés ? Comment supprimer les messages de tous les inconnus dans les messages privés de Kuaishou ? Les messages privés d'inconnus peuvent-ils être interceptés ? Mar 22, 2024 am 08:50 AM

Kuaishou est une plate-forme sociale de courtes vidéos populaire qui permet aux utilisateurs de se connecter facilement avec les autres. Au fil du temps, les messages privés des utilisateurs peuvent être remplis d'un grand nombre de messages provenant d'étrangers, ce qui peut affecter l'expérience de l'utilisateur. Alors, comment supprimer les messages privés d’inconnus sur Kuaishou ? Cet article présentera en détail comment supprimer les messages privés d'étrangers sur la plateforme Kuaishou et s'il est possible d'intercepter les messages d'étrangers. 1. Comment supprimer les messages de tous les inconnus dans les messages privés de Kuaishou ? 1. Tout d’abord, ouvrez l’application Kuaishou et entrez dans le centre personnel. 2. Sur la page du centre personnel, recherchez l'option « Message » et cliquez pour entrer. 3. Sur la page du message, recherchez l'option « Message privé » et cliquez pour entrer. 4. Sur la page de messages privés, vous pouvez voir différentes catégories de messages. Recherchez la catégorie « Messages étrangers » et cliquez sur.

Comment obtenir des variables de la méthode PHP en utilisant Ajax ? Comment obtenir des variables de la méthode PHP en utilisant Ajax ? Mar 09, 2024 pm 05:36 PM

L'utilisation d'Ajax pour obtenir des variables à partir de méthodes PHP est un scénario courant dans le développement Web. Grâce à Ajax, la page peut être obtenue dynamiquement sans actualiser les données. Dans cet article, nous présenterons comment utiliser Ajax pour obtenir des variables à partir de méthodes PHP et fournirons des exemples de code spécifiques. Tout d’abord, nous devons écrire un fichier PHP pour gérer la requête Ajax et renvoyer les variables requises. Voici un exemple de code pour un simple fichier PHP getData.php :

Comment résoudre le problème de l'erreur 403 jQuery AJAX ? Comment résoudre le problème de l'erreur 403 jQuery AJAX ? Feb 23, 2024 pm 04:27 PM

Comment résoudre le problème de l’erreur 403 jQueryAJAX ? Lors du développement d'applications Web, jQuery est souvent utilisé pour envoyer des requêtes asynchrones. Cependant, vous pouvez parfois rencontrer le code d'erreur 403 lors de l'utilisation de jQueryAJAX, indiquant que l'accès est interdit par le serveur. Cela est généralement dû aux paramètres de sécurité côté serveur, mais il existe des moyens de résoudre le problème. Cet article explique comment résoudre le problème de l'erreur 403 jQueryAJAX et fournit des exemples de code spécifiques. 1. faire

Comment bloquer les pop-ups publicitaires dans le navigateur QQ Comment bloquer les pop-ups publicitaires dans le navigateur QQ Jan 31, 2024 pm 06:00 PM

Comment bloquer les pop-ups publicitaires dans le navigateur QQ ? Récemment, parfois lorsque j'utilise l'ordinateur, je rencontre souvent le phénomène des pop-ups publicitaires dans le navigateur QQ. Comme ce que j'ai rencontré, c'est la publicité pop-up du navigateur QQ, donc quand je rencontre ce type de publicité pop-up du navigateur QQ. Comment le résoudre ? Voyons avec l'éditeur de ce site comment bloquer les pop-ups publicitaires dans le navigateur QQ. Tutoriel pour résoudre les publicités pop-up du navigateur QQ 1. Ouvrez d'abord le navigateur QQ, entrez dans l'interface principale et cliquez sur le menu dans le coin supérieur droit. 2. Après avoir cliqué sur le menu du navigateur QQ, vous verrez un centre d'applications, puis cliquez dessus. 3. Après avoir accédé au centre d'applications du navigateur QQ, un magasin d'extensions apparaîtra. 4. Installez le plug-in du navigateur QQ pour bloquer les fenêtres contextuelles publicitaires. 5. Cliquez sur Installer maintenant. 6. Installez-le dans

PHP et Ajax : créer un moteur de suggestions de saisie semi-automatique PHP et Ajax : créer un moteur de suggestions de saisie semi-automatique Jun 02, 2024 pm 08:39 PM

Créez un moteur de suggestions de saisie semi-automatique en utilisant PHP et Ajax : Script côté serveur : gère les requêtes Ajax et renvoie des suggestions (autocomplete.php). Script client : envoyer une requête Ajax et afficher des suggestions (autocomplete.js). Cas pratique : Incluez le script dans la page HTML et spécifiez l'identifiant de l'élément d'entrée de recherche.

See all articles