Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 4352|Risposta: 2

[JavaScript] L'ajax-hook per lo sviluppo web intercetta tutte le richieste XMLHttpRequest

[Copiato link]
Pubblicato su 22/06/2023 10:29:45 | | | |
Requisiti: Intercettare tutte le richieste XMLHttpRequest e, quando l'interfaccia backend restituisce il codice di stato di login invalido, saltare direttamente all'interfaccia di login e non passarla più. Può anche essere utilizzato per richiedere l'aggiunta di firme unificate, risoluzione automatica del protocollo, statistiche delle chiamate di interfaccia, ecc.

Recensione:

jQuery intercetta i risultati restituiti da Ajax
https://www.itsvse.com/thread-9570-1-1.html
Sebbene jQuery possa intercettare le richieste Ajax, è limitato al chiamante che utilizza metodi ajax in jQuery e non può intercettare richieste usando XMLHttpRequest nativo.Poiché la richiesta ajax in jQuery è anche un incapsulamento di XMLHttpRequest, possiamo effettivamente intercettare XMLHttpRequest

ajax-hook è una libreria leggera per intercettare gli oggetti XMLHttpRequest del browser, che può essere utilizzata per preprocessare richieste, risposte ed errori prima che l'oggetto XMLHttpRequest inizi una richiesta, dopo aver ricevuto il contenuto della risposta e quando si verifica un errore. Ajax-hook è altamente compatibile e può funzionare su qualsiasi browser che supporti ES5, poiché non si basa sulle funzionalità di ES6.

Principio: ajax-hook personalizza i metodi e le proprietà in XMLHttpRequest per sovrascrivere l'oggetto globale XMLHttpRequest. Un livello di proxy viene avvolto per l'oggetto XMLHttpRequest.

Indirizzo Open Source:Il login del link ipertestuale è visibile.

Indirizzo CDN:Il login del link ipertestuale è visibile.

Proxy vs. Hook

Sia il proxy() che il hook() possono essere usati per intercettare le richieste globali XMLHttp. Le loro differenze sono:Uncino() ha una granularità di intercettazione fine, può essere specifico per un certo metodo, attributo o callback dell'oggetto XMLHttpRequest, ma è più difficile da usare e, molte volte, non solo la logica di business deve essere dispersa in vari callback, ma anche soggetta a errori. mentreProxy () ha un alto grado di astrazione, e il contesto della richiesta viene costruito (la configurazione delle informazioni della richiesta può essere ottenuta direttamente in ogni callback), il che è più semplice ed efficiente da usare.

La maggior parte delle volte, noiSi consiglia di usare il metodo proxy() a meno che non soddisfi le tue esigenze

Prova ad aggiungere jQuery intercettazione richiesta ajax e intercettazione proxy in ajax-hook, il codice è il seguente:

Prova a inviare una richiesta get usando jQuery e puoi vederlaEntrambi possono essere intercettati, come mostrato nella figura sottostante:



Invia una richiesta usando XMLHttpRequest nativo, scopriSolo l'ajax-hook può intercettare, come mostrato nella figura sottostante:



Altri usi del proxy ajax-hook:

Esempio:Il login del link ipertestuale è visibile.

(Fine)





Precedente:Le istruzioni SQL di EF generano automaticamente IS NULL o IS NOT NULL
Prossimo:.NET/C# HttpAnalisi del codice sorgente Client
 Padrone di casa| Pubblicato su 22/06/2023 10:32:52 |
Richieste e risposte API di intercettazione:https://stackoverflow.com/questi ... onses-in-javascript
 Padrone di casa| Pubblicato su 18/04/2024 08:39:18 |
Intercettazione HTTP risposta 401 Codice di accesso non autorizzato:

Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com