Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 4352|Atsakyti: 2

[JavaScript] Ajax-kabliukas žiniatinklio kūrimui perima visas XMLHttpRequest užklausas

[Kopijuoti nuorodą]
Paskelbta 2023-06-22 10:29:45 | | | |
Reikalavimai: Perimkite visas XMLHttpRequest užklausas, o kai vidinė sąsaja grąžina neteisingą prisijungimo būsenos kodą, pereikite tiesiai į prisijungimo sąsają ir nebeperduokite. Jis taip pat gali būti naudojamas norint pridėti vieningus parašus, automatinį protokolo sprendimą, sąsajos skambučių statistiką ir kt.

Peržiūra:

jQuery perima Ajax grąžintus rezultatus
https://www.itsvse.com/thread-9570-1-1.html
Nors "jQuery" gali perimti "Ajax" užklausas, jis apsiriboja skambinančiuoju naudojant "ajax" metodus "jQuery" ir negali perimti užklausų naudojant vietinį XMLHttpRequest.Kadangi ajax užklausa jQuery taip pat yra XMLHttpRequest inkapsuliacija, mes iš tikrųjų galime perimti XMLHttpRequest

ajax-hook yra lengva biblioteka, skirta naršyklės XMLHttpRequest objektams perimti, kuri gali būti naudojama iš anksto apdoroti užklausas, atsakymus ir klaidas prieš XMLHttpRequest objektui inicijuojant užklausą, gavus atsakymo turinį ir įvykus klaidai. Ajax-hook yra labai suderinamas ir gali veikti bet kurioje naršyklėje, kuri palaiko ES5, nes ji nepriklauso nuo ES6 funkcijų.

Principas: ajax-hook pritaiko XMLHttpRequest metodus ir ypatybes, kad perrašytų visuotinį XMLHttpRequest objektą. XMLHttpRequest objektui suvyniotas tarpinio serverio sluoksnis.

Atvirojo kodo adresas:Hipersaito prisijungimas matomas.

CDN adresas:Hipersaito prisijungimas matomas.

Tarpinis serveris prieš kabliuką

Tiek proxy(), tiek hook() gali būti naudojami visuotinėms XMLHttpRequests perimti. Jų skirtumai yra šie:hook() turi smulkų perėmimo detalumą, gali būti būdingas tam tikram XMLHttpRequest objekto metodui, atributui ar atgaliniam iškvietimui, tačiau jį naudoti yra sudėtingiau, ir daug kartų ne tik verslo logika turi būti išsklaidyta įvairiuose atgaliniuose skambučiuose, bet ir linkusi į klaidas. Kadangiproxy() turi aukštą abstrakcijos laipsnį, ir užklausos kontekstas yra sukurtas (užklausos informacijos konfigūraciją galima gauti tiesiogiai kiekvieno atgalinio skambinimo metu), kuris yra paprastesnis ir efektyvesnis naudoti.

Dažniausiai mesRekomenduojama naudoti proxy() metodą, nebent jis neatitinka jūsų poreikių

Pabandykite pridėti jQuery ajax užklausos perėmimo ir tarpinio serverio perėmimo į ajax-hook, kodas yra toks:

Pabandykite išsiųsti užklausą naudodami "jQuery" ir ją pamatysiteAbu gali būti perimti, kaip parodyta toliau pateiktame paveikslėlyje:



Siųskite užklausą naudodami vietinę XMLHttpRequest, atraskiteTik ajax-kabliukas gali perimti, kaip parodyta toliau pateiktame paveikslėlyje:



Daugiau ajax-hook tarpinio serverio panaudojimo būdų:

Pavyzdys:Hipersaito prisijungimas matomas.

(Pabaiga)





Ankstesnis:EF SQL sakiniai automatiškai generuoja IS NULL arba IS NOT NULL
Kitą:.NET/C# HttpClient šaltinio kodo paprasta analizė
 Savininkas| Paskelbta 2023-06-22 10:32:52 |
Perimti fetch() API užklausas ir atsakymus:https://stackoverflow.com/questi ... onses-in-javascript
 Savininkas| Paskelbta 2024-04-18 08:39:18 |
Perimti HTTP atsakymą 401 Neteisėtas prisijungimo kodas:

Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com