Nõuded: Püüa kinni kõik XMLHttpRequest päringud ja kui taustaliides tagastab sisselogimise kehtetu olekukoodi, hüppa otse sisselogimisliidesesse ja seda enam ei edastata. Seda saab kasutada ka ühtsete allkirjade lisamise, automaatse protokolli lahendamise, liidese kõnede statistika jms taotlemiseks.
Läbivaatamine:
Kuigi jQuery suudab Ajaxi päringuid kinni püüda, on see piiratud kutsujaga, kes kasutab jQuery ajax-meetodeid, ega saa päringuid kinni püüda natiivse XMLHttpRequesti abil.Kuna ajax-päring jQuerys on samuti XMLHttpRequesti kapseldamine, saame tegelikult XMLHttpRequesti kinni püüda。
ajax-hook on kerge teek brauseri XMLHttpRequest objektide pealtkuulamiseks, mida saab kasutada päringute, vastuste ja vigade eeltöötlemiseks enne, kui XMLHttpRequest objekt päringu algatab, pärast vastuse sisu saamist ja vea tekkimise korral. Ajax-hook on väga ühilduv ja töötab igas brauseris, mis toetab ES5, kuna see ei sõltu ES6 funktsioonidest.
Põhimõte: ajax-hook kohandab XMLHttpRequest meetodeid ja omadusi, et üle kirjutada globaalne XMLHttpRequest objekt. XMLHttpRequest objekti jaoks on mähitud proksikiht.
Avatud lähtekoodiga aadress:Hüperlingi sisselogimine on nähtav.
CDN aadress:Hüperlingi sisselogimine on nähtav.
Proxy vs. konks
Nii proxy() kui hook() saab kasutada globaalsete XMLHttp-päringute pealtkuulamiseks. Nende erinevused on:hook() omab peent interceptsiooni granulaarsust, võib olla spetsiifiline teatud meetodile, atribuudile või XMLHttpRequest objekti tagasikutsumisele, kuid selle kasutamine on keerulisem ning sageli tuleb mitte ainult äriloogikat hajutada erinevates tagasikutsetes, vaid ka vigadele vastuvõtlik. kuiproxy() omab suurt abstraktsiooni, ja päringu kontekst on loodud (päringuinfo konfiguratsiooni saab otse iga tagasikõne kaudu), mis on lihtsam ja tõhusam kasutada.
EnamastiSoovitatav on kasutada proxy() meetodit, kui see ei vasta teie vajadustele。
Proovi lisada ajax-hookis jQuery ajax päringu pealtkuulamine ja proxy pealtkuulamine, kood on järgmine:
Proovi saata jQuery abil hankimistaotlust ja näed sedaMõlemat saab pealt kuulata, nagu alloleval joonisel näidatud:
Saada päring natiivse XMLHttpRequest abil, avastaAinult ajax-hook suudab vahelt võtta, nagu alloleval joonisel näidatud:
Veel ajax-hook proxy kasutusviise:
Näide:Hüperlingi sisselogimine on nähtav.
(Lõpp)
|