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:
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)
|