Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 4352|Svar: 2

[JavaScript] Ajax-hooken för webbutveckling fångar upp alla XMLHttpRequest-förfrågningar

[Kopiera länk]
Publicerad på 2023-06-22 10:29:45 | | | |
Krav: Fånga upp alla XMLHttpRequest-förfrågningar, och när backend-gränssnittet returnerar inloggningsstatuskoden, hoppa direkt till inloggningsgränssnittet och skicka det inte längre. Den kan också användas för att begära tillägg av enhetliga signaturer, automatisk protokollupplösning, gränssnittsanropsstatistik med mera.

Recension:

jQuery snappar upp resultaten som returneras av Ajax
https://www.itsvse.com/thread-9570-1-1.html
Även om jQuery kan avlyssna Ajax-förfrågningar är det begränsat till att anroparen använder ajax-metoder i jQuery och kan inte avlyssna förfrågningar med native XMLHttpRequest.Eftersom ajax-förfrågan i jQuery också är en inkapsling av XMLHttpRequest, kan vi faktiskt avlyssna XMLHttpRequest

ajax-hook är ett lättviktigt bibliotek för att avlyssna webbläsarens XMLHttpRequest-objekt, vilket kan användas för att förbehandla förfrågningar, svar och fel innan XMLHttpRequest-objektet initierar en förfrågan, efter att ha mottagit svarets innehåll och när ett fel uppstår. Ajax-hook är mycket kompatibel och kan köras i vilken webbläsare som helst som stödjer ES5, eftersom den inte är beroende av ES6-funktioner.

Princip: ajax-hook anpassar metoderna och egenskaperna i XMLHttpRequest för att åsidosätta det globala XMLHttpRequest-objektet. Ett lager av proxy wrappas för XMLHttpRequest-objektet.

Öppen källkodsadress:Inloggningen med hyperlänken är synlig.

CDN-adress:Inloggningen med hyperlänken är synlig.

proxy vs. hook

Både proxy() och hook() kan användas för att avlyssna globala XMLHttpRequests. Deras skillnader är:hook() har en fin interceptionsgranularitet, kan vara specifik för en viss metod, attribut eller callback av XMLHttpRequest-objektet, men det är mer besvärligt att använda, och ofta behöver inte bara affärslogiken spridas i olika callbacks, utan också felbenägen. medanproxy() har en hög grad av abstraktion, och förfrågningskontexten byggs (konfigurationen för förfrågningsinformation kan erhållas direkt i varje callback), vilket är enklare och mer effektivt att använda.

För det mesta är det viDet rekommenderas att använda proxy()-metoden om den inte uppfyller dina behov

Försök lägga till jQuery ajax request interception och proxy interception i ajax-hook, koden är följande:

Försök skicka en get-request med jQuery så kan du se denBåda kan avlyssnas, som visas i figuren nedan:



Skicka en förfrågan med native XMLHttpRequest, DiscoverEndast ajax-hook kan avlyssna, som visas i figuren nedan:



Fler användningar av ajax-hook-proxy:

Exempel:Inloggningen med hyperlänken är synlig.

(Slut)





Föregående:EF SQL-satser genererar automatiskt ÄR NULL eller ÄR INTE NULL
Nästa:.NET/C# HttpClient källkod enkel analys
 Hyresvärd| Publicerad på 2023-06-22 10:32:52 |
Intercept fetch() API-förfrågningar och svar:https://stackoverflow.com/questi ... onses-in-javascript
 Hyresvärd| Publicerad på 2024-04-18 08:39:18 |
Intercept HTTP-svar 401 Obehörig hoppinloggningskod:

Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com