Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 4352|Svare: 2

[JavaScript] Ajax-hooken for webutvikling avskjærer alle XMLHttpRequest-forespørsler

[Kopier lenke]
Publisert på 22.06.2023 10:29:45 | | | |
Krav: Fang opp alle XMLHttpRequest-forespørsler, og når backend-grensesnittet returnerer statuskoden for ugyldig innlogging, hopp direkte til innloggingsgrensesnittet og send det ikke lenger. Den kan også brukes til å be om tillegg av enhetlige signaturer, automatisk protokolloppløsning, grensesnittkallstatistikk osv.

Anmeldelse:

jQuery fanger opp resultatene som returneres av Ajax
https://www.itsvse.com/thread-9570-1-1.html
Selv om jQuery kan avskjære Ajax-forespørsler, er det begrenset til at kalleren bruker ajax-metoder i jQuery og kan ikke avskjære forespørsler med native XMLHttpRequest.Siden ajax-forespørselen i jQuery også er en innkapsling av XMLHttpRequest, kan vi faktisk avskjære XMLHttpRequest

ajax-hook er et lettvektsbibliotek for å avskjære XMLHttpRequest-objekter i nettleseren, som kan brukes til å forhåndsbehandle forespørsler, svar og feil før XMLHttpRequest-objektet initierer en forespørsel, etter å ha mottatt svarinnholdet, og når en feil oppstår. Ajax-hook er svært kompatibel og kan kjøres i hvilken som helst nettleser som støtter ES5, siden den ikke er avhengig av ES6-funksjoner.

Prinsipp: ajax-hook tilpasser metodene og egenskapene i XMLHttpRequest for å overstyre det globale XMLHttpRequest-objektet. Et lag med proxy pakkes inn for XMLHttpRequest-objektet.

Åpen kildekode-adresse:Innloggingen med hyperkoblingen er synlig.

CDN-adresse:Innloggingen med hyperkoblingen er synlig.

proxy vs. hook

Både proxy() og hook() kan brukes til å avskjære globale XMLHttpRequests. Deres forskjeller er:hook() har en fin avskjæringsgranularitet, kan være spesifikk for en bestemt metode, attributt eller callback av XMLHttpRequest-objektet, men det er mer problematisk å bruke, og ofte må forretningslogikken ikke bare spres i ulike callbacks, men også være utsatt for feil. mensproxy() har en høy grad av abstraksjon, og forespørselskonteksten bygges (forespørselsinformasjonskonfigurasjonen kan hentes direkte i hver callback), noe som er enklere og mer effektivt å bruke.

Som oftest er viDet anbefales å bruke proxy()-metoden med mindre den ikke oppfyller dine behov

Prøv å legge til jQuery ajax request interception og proxy interception i ajax-hook, koden er som følger:

Prøv å sende en get-forespørsel med jQuery, så kan du se denBegge kan avskjæres, som vist i figuren nedenfor:



Send en forespørsel med native XMLHttpRequest, DiscoverKun ajax-hook kan avskjære, som vist i figuren nedenfor:



Flere bruksområder for ajax-hook-proxy:

Eksempel:Innloggingen med hyperkoblingen er synlig.

(Slutt)





Foregående:EF SQL-setninger genererer automatisk IS NULL eller IS NOT NULL
Neste:.NET/C# HttpClient kildekode enkel analyse
 Vert| Publisert på 22.06.2023 10:32:52 |
Intercept fetch() API-forespørsler og svar:https://stackoverflow.com/questi ... onses-in-javascript
 Vert| Publisert på 18.04.2024 08:39:18 |
Intercept HTTP-svar 401 Uautorisert hopp-innloggingskode:

Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com