Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 4352|Odpoveď: 2

[JavaScript] Ajax-hook pre webový vývoj zachytáva všetky požiadavky XMLHttpRequest

[Kopírovať odkaz]
Zverejnené 22. 6. 2023 10:29:45 | | | |
Požiadavky: Zachytiť všetky požiadavky XMLHttpRequest a keď backendové rozhranie vráti neplatný stavový kód na prihlásenie, okamžite prejsť na prihlasovacie rozhranie a už ho ďalej neodosielať. Môže sa tiež použiť na požiadavku na pridanie zjednotených podpisov, automatické riešenie protokolov, štatistiky volaní rozhrania a podobne.

Revízia:

jQuery zachytáva výsledky vrátené Ajaxom
https://www.itsvse.com/thread-9570-1-1.html
Hoci jQuery dokáže zachytávať požiadavky Ajax, je obmedzený na volajúceho používajúceho metódy ajax v jQuery a nemôže zachytávať požiadavky pomocou natívneho XMLHttpRequest.Keďže ajax požiadavka v jQuery je tiež enkapsuláciou XMLHttpRequest, môžeme XMLHttpRequest skutočne zachytiť

ajax-hook je ľahká knižnica na zachytávanie objektov XMLHttpRequest v prehliadači, ktorá sa dá použiť na predspracovanie požiadaviek, odpovedí a chýb predtým, než objekt XMLHttpRequest iniciuje požiadavku, po prijatí obsahu odpovede a keď nastane chyba. Ajax-hook je vysoko kompatibilný a môže bežať v akomkoľvek prehliadači, ktorý podporuje ES5, keďže nevyužíva funkcie ES6.

Princíp: ajax-hook prispôsobuje metódy a vlastnosti v XMLHttpRequest tak, aby prepísal globálny objekt XMLHttpRequest. Pre objekt XMLHttpRequest je zabalená vrstva proxy.

Open Source adresa:Prihlásenie na hypertextový odkaz je viditeľné.

CDN adresa:Prihlásenie na hypertextový odkaz je viditeľné.

Proxy vs. hák

Na zachytávanie globálnych XMLHttpRequestov je možné použiť proxy() aj hook(). Ich rozdiely sú:hook() má jemnú granularitu interceptionu, môže byť špecifická pre určitú metódu, atribút alebo spätné volanie objektu XMLHttpRequest, ale je to zložitejšie na použitie a často je potrebné nielen roztrúsiť obchodnú logiku v rôznych spätných volaniach, ale je aj náchylná na chyby. Keďžeproxy() má vysoký stupeň abstrakcie, a kontext požiadaviek je vytvorený (konfigurácia informácií o požiadavke je dostupná priamo v každom spätnom volaní), čo je jednoduchšie a efektívnejšie na použitie.

Väčšinou smeOdporúča sa použiť metódu proxy(), pokiaľ nevyhovuje vašim potrebám

Skúste pridať zachytenie požiadaviek na zachytenie a zachytenie proxy v ajax-hook, kód je nasledovný:

Skúste poslať požiadavku na získanie cez jQuery a uvidíte toObe môžu byť zachytené, ako je znázornené na obrázku nižšie:



Oslať požiadavku pomocou natívneho XMLHttpRequest, discoverIba ajax-hook môže zachytiť, ako je znázornené na obrázku nižšie:



Ďalšie využitia ajax-hook proxy:

Príklad:Prihlásenie na hypertextový odkaz je viditeľné.

(Koniec)





Predchádzajúci:EF SQL príkazy automaticky generujú IS NULL alebo IS NOT NULL
Budúci:.NET/C# Zdrojový kód HttpClient jednoduchá analýza
 Prenajímateľ| Zverejnené 22. 6. 2023 10:32:52 |
API požiadavky a odpovede Intercept fetch():https://stackoverflow.com/questi ... onses-in-javascript
 Prenajímateľ| Zverejnené 18. 4. 2024 8:39:18 |
Zachytiť HTTP odpoveď 401 Neoprávnený prihlasovací kód pre skok:

Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com