Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 4352|Resposta: 2

[JavaScript] O hook ajax para desenvolvimento web intercepta todas as solicitações XMLHttpRequest

[Copiar link]
Publicado em 22/06/2023 10:29:45 | | | |
Requisitos: Intercepte todas as solicitações XMLHttpRequest e, quando a interface backend retorne o código de status inválido do login, pule diretamente para a interface de login e não o passe mais. Também pode ser usado para solicitar a adição de assinaturas unificadas, resolução automática de protocolos, estatísticas de chamadas de interface, etc.

Revisar:

o jQuery intercepta os resultados retornados pelo Ajax
https://www.itsvse.com/thread-9570-1-1.html
Embora o jQuery possa interceptar requisições Ajax, ele é limitado ao chamador usando métodos ajax no jQuery e não pode interceptar requisições usando XMLHttpRequest nativo.Como a solicitação ajax no jQuery também é um encapsulamento do XMLHttpRequest, podemos realmente interceptar o XMLHttpRequest

ajax-hook é uma biblioteca leve para interceptar objetos XMLHttpRequest do navegador, que pode ser usada para pré-processar solicitações, respostas e erros antes que o objeto XMLHttpRequest inicie uma solicitação, após receber o conteúdo da resposta e quando ocorre um erro. O Ajax-hook é altamente compatível e pode rodar em qualquer navegador que suporte ES5, pois não depende dos recursos do ES6.

Princípio: ajax-hook personaliza os métodos e propriedades no XMLHttpRequest para sobrescrever o objeto global XMLHttpRequest. Uma camada de proxy é enrolada para o objeto XMLHttpRequest.

Endereço de Código Aberto:O login do hiperlink está visível.

Endereço da CDN:O login do hiperlink está visível.

Proxy vs. Gancho

Tanto proxy() quanto hook() podem ser usados para interceptar XMLHttpRequests globais. As diferenças entre eles são:O gancho() possui uma granularidade fina de interceptação, pode ser específico para um determinado método, atributo ou callback do objeto XMLHttpRequest, mas é mais difícil de usar e, muitas vezes, não só a lógica de negócio precisa estar dispersa em vários callbacks, como também propensa a erros. considerando queProxy () possui um alto grau de abstração, e o contexto de requisição é construído (a configuração de informações de requisição pode ser obtida diretamente em cada callback), o que é mais simples e eficiente de usar.

Na maioria das vezes, nósRecomenda-se usar o método proxy(), a menos que ele não atenda às suas necessidades

Tente adicionar interceptação de solicitação ajax jQuery e interceptação proxy no ajax-hook, o código é o seguinte:

Tente enviar uma solicitação get usando jQuery e você pode verAmbos podem ser interceptados, como mostrado na figura abaixo:



Envie uma solicitação usando XMLHttpRequest nativo, discoverApenas o ajax-hook pode interceptar, como mostrado na figura abaixo:



Mais usos do proxy ajax-hook:

Exemplo:O login do hiperlink está visível.

(Fim)





Anterior:Instruções SQL do EF geram automaticamente IS NULL ou IS NOT NULL
Próximo:.NET/C# HttpClient análise simples do código-fonte
 Senhorio| Publicado em 22/06/2023 10:32:52 |
Interceptar requisições e respostas da API:https://stackoverflow.com/questi ... onses-in-javascript
 Senhorio| Publicado em 18/04/2024 08:39:18 |
Interceptar resposta HTTP 401 Código de login de salto não autorizado:

Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com