Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 4352|Atbildi: 2

[JavaScript] Tīmekļa izstrādes ajax-āķis pārtver visus XMLHttpRequest pieprasījumus

[Kopēt saiti]
Publicēts 22.06.2023 10:29:45 | | | |
Prasības: Pārtveriet visus XMLHttpRequest pieprasījumus un, kad aizmugursistēmas interfeiss atgriež nederīgu pieteikšanās statusa kodu, pārejiet tieši uz pieteikšanās interfeisu un vairs nenododiet to. To var izmantot arī, lai pieprasītu vienotu parakstu pievienošanu, automātisku protokola izšķirtspēju, saskarnes zvanu statistiku utt.

Pārskats:

jQuery pārtver Ajax atgrieztos rezultātus
https://www.itsvse.com/thread-9570-1-1.html
Lai gan jQuery var pārtvert Ajax pieprasījumus, tas ir ierobežots ar zvanītāju, izmantojot ajax metodes jQuery un nevar pārtvert pieprasījumus, izmantojot vietējo XMLHttpRequest.Tā kā ajax pieprasījums jQuery ir arī XMLHttpRequest iekapsulējums, mēs faktiski varam pārtvert XMLHttpRequest

ajax-hook ir viegla bibliotēka pārlūkprogrammas XMLHttpRequest objektu pārtveršanai, ko var izmantot, lai iepriekš apstrādātu pieprasījumus, atbildes un kļūdas, pirms XMLHttpRequest objekts uzsāk pieprasījumu, pēc atbildes satura saņemšanas un kad rodas kļūda. Ajax-hook ir ļoti saderīgs un var darboties jebkurā pārlūkprogrammā, kas atbalsta ES5, jo tas nepaļaujas uz ES6 funkcijām.

Princips: ajax-hook pielāgo XMLHttpRequest metodes un rekvizītus, lai ignorētu globālo XMLHttpRequest objektu. XMLHttpRequest objektam tiek aplauzts starpniekservera slānis.

Atvērtā koda adrese:Hipersaites pieteikšanās ir redzama.

CDN adrese:Hipersaites pieteikšanās ir redzama.

Starpniekserveris pret āķi

Gan proxy(), gan hook() var izmantot, lai pārtvertu globālos XMLHttpRequests. To atšķirības ir:hook() ir smalka pārtveršanas granularitāte, var būt specifiska noteiktai XMLHttpRequest objekta metodei, atribūtam vai atzvanīšanai, taču to ir grūtāk izmantot, un daudzas reizes ne tikai biznesa loģika ir jāizkliedē dažādos atzvanījumos, bet arī ir pakļauta kļūdām. Betproxy() ir augsta abstrakcijas pakāpe, un tiek izveidots pieprasījuma konteksts (pieprasījuma informācijas konfigurāciju var iegūt tieši katrā atzvanīšanas laikā), kas ir vienkāršāk un efektīvāk lietojams.

Lielākoties mēsIeteicams izmantot proxy() metodi, ja vien tā neatbilst jūsu vajadzībām

Mēģiniet pievienot jQuery ajax pieprasījuma pārtveršanu un starpniekservera pārtveršanu ajax-hook, kods ir šāds:

Mēģiniet nosūtīt saņemšanas pieprasījumu, izmantojot jQuery, un jūs to varat redzētAbus var pārtvert, kā parādīts attēlā:



Nosūtiet pieprasījumu, izmantojot vietējo XMLHttpRequest, atklājietTikai ajax-hook var pārtvert, kā parādīts attēlā:



Citi ajax-hook starpniekservera izmantošanas veidi:

Piemērs:Hipersaites pieteikšanās ir redzama.

(Beigas)





Iepriekšējo:EF SQL priekšraksti automātiski ģenerē IS NULL vai IS NOT NULL
Nākamo:.NET/C# HttpClient avota koda vienkārša analīze
 Saimnieks| Publicēts 22.06.2023 10:32:52 |
Intercept fetch() API pieprasījumi un atbildes:https://stackoverflow.com/questi ... onses-in-javascript
 Saimnieks| Publicēts 18.04.2024 08:39:18 |
Pārtvert HTTP atbildi 401 Nesankcionēts lēciena pieteikšanās kods:

Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com