Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 4352|Svar: 2

[JavaScript] Ajax-hooken til webudvikling opfanger alle XMLHttpRequest-forespørgsler

[Kopier link]
Opslået på 22/06/2023 10.29.45 | | | |
Krav: Opsnap alle XMLHttpRequest-anmodninger, og når backend-grænsefladen returnerer login-statuskoden, spring direkte til login-interfacet og send den ikke længere. Den kan også bruges til at anmode om tilføjelse af ensartede signaturer, automatisk protokolopløsning, interface-kaldstatistikker osv.

Anmeldelse:

jQuery opfanger de resultater, som Ajax returnerer
https://www.itsvse.com/thread-9570-1-1.html
Selvom jQuery kan opsnappe Ajax-forespørgsler, er det begrænset til kalderen, der bruger ajax-metoder i jQuery, og kan ikke opsnappe forespørgsler med native XMLHttpRequest.Da ajax-forespørgslen i jQuery også er en indkapsling af XMLHttpRequest, kan vi faktisk opsnappe XMLHttpRequest

ajax-hook er et letvægtsbibliotek til opsnapning af XMLHttpRequest-objekter i browseren, som kan bruges til at forbehandle anmodninger, svar og fejl, før XMLHttpRequest-objektet initierer en anmodning, efter at have modtaget svarets indhold, og når en fejl opstår. Ajax-hook er meget kompatibel og kan køre på enhver browser, der understøtter ES5, da den ikke er afhængig af ES6-funktioner.

Princip: ajax-hook tilpasser metoderne og egenskaberne i XMLHttpRequest for at tilsidesætte det globale XMLHttpRequest-objekt. Et lag af proxy er pakket ind til XMLHttpRequest-objektet.

Open source-adresse:Hyperlink-login er synlig.

CDN-adresse:Hyperlink-login er synlig.

proxy vs. hook

Både proxy() og hook() kan bruges til at opsnappe globale XMLHttpRequests. Deres forskelle er:hook() har en fin interceptionsgranularitet, kan være specifik for en bestemt metode, attribut eller callback af XMLHttpRequest-objektet, men det er mere besværligt at bruge, og ofte skal forretningslogikken ikke blot spredes i forskellige callbacks, men også være tilbøjelig til fejl. hvorimodproxy() har en høj grad af abstraktion, og anmodningskonteksten er bygget (anmodningsinformationskonfigurationen kan hentes direkte i hvert callback), hvilket er enklere og mere effektivt at bruge.

For det meste gør viDet anbefales at bruge proxy()-metoden, medmindre den ikke opfylder dine behov

Prøv at tilføje jQuery ajax-anmodningsopsnappning og proxy-aflytning i ajax-hook, koden er som følger:

Prøv at sende en get-anmodning med jQuery, så kan du se denBegge kan opsnappes, som vist i figuren nedenfor:



Send en forespørgsel ved hjælp af den oprindelige XMLHttpRequest, discoverKun ajax-hook kan opsnappe, som vist i figuren nedenfor:



Flere anvendelser af ajax-hook proxy:

Eksempel:Hyperlink-login er synlig.

(Slut)





Tidligere:EF SQL-sætninger genererer automatisk ER NULL eller ER IKKE NULL
Næste:.NET/C# HttpClient kildekode simpel analyse
 Udlejer| Opslået på 22/06/2023 10.32.52 |
Intercept fetch() API-anmodninger og svar:https://stackoverflow.com/questi ... onses-in-javascript
 Udlejer| Opslået på 18/04/2024 08.39.18 |
Opsnap HTTP-svar 401 Uautoriseret jump-loginkode:

Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com