Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 4352|Respuesta: 2

[JavaScript] El gancho ajax para desarrollo web intercepta todas las solicitudes XMLHttpRequest

[Copiar enlace]
Publicado en 22/6/2023 10:29:45 | | | |
Requisitos: Interceptar todas las solicitudes XMLHttpRequest y, cuando la interfaz de backend devuelve el código de estado inválido de inicio de sesión, saltar directamente a la interfaz de inicio de sesión y dejar de pasarlo. También puede utilizarse para solicitar la adición de firmas unificadas, resolución automática de protocolos, estadísticas de llamadas de interfaz, etc.

Revisión:

jQuery intercepta los resultados devueltos por Ajax
https://www.itsvse.com/thread-9570-1-1.html
Aunque jQuery puede interceptar solicitudes Ajax, está limitado al llamador que utiliza métodos ajax en jQuery y no puede interceptar solicitudes usando XMLHttpRequest nativo.Dado que la solicitud ajax en jQuery también es una encapsulación de XMLHttpRequest, en realidad podemos interceptar XMLHttpRequest

ajax-hook es una biblioteca ligera para interceptar objetos XMLHttpRequest del navegador, que puede usarse para preprocesar solicitudes, respuestas y errores antes de que el objeto XMLHttpRequest inicie una solicitud, tras recibir el contenido de la respuesta y cuando ocurre un error. Ajax-hook es altamente compatible y puede ejecutarse en cualquier navegador que soporte ES5, ya que no depende de las funciones de ES6.

Principio: ajax-hook personaliza los métodos y propiedades en XMLHttpRequest para anular el objeto global XMLHttpRequest. Se envuelve una capa de proxy para el objeto XMLHttpRequest.

Dirección de código abierto:El inicio de sesión del hipervínculo es visible.

Dirección CDN:El inicio de sesión del hipervínculo es visible.

Proxy vs. gancho

Tanto proxi() como hook() pueden usarse para interceptar solicitudes globales XMLHttp. Sus diferencias son:Hook() tiene una fina granularidad de intercepción, puede ser específico de un método, atributo o callback del objeto XMLHttpRequest, pero es más complicado de usar y, muchas veces, no solo la lógica de negocio debe dispersarse en varias callbacks, sino también propensa a errores. mientras queProxy () tiene un alto grado de abstracción, y se construye el contexto de la solicitud (la configuración de información de la solicitud puede obtenerse directamente en cada callback), lo cual es más sencillo y eficiente de usar.

La mayoría de las veces, nosotrosSe recomienda usar el método proxy() a menos que no se adapte a tus necesidades

Intenta añadir jQuery interceptación de peticiones ajax e intercepción proxy en ajax-hook, el código es el siguiente:

Prueba a enviar una solicitud get usando jQuery y podrás verlaAmbos pueden ser interceptados, como se muestra en la figura siguiente:



Envía una solicitud usando XMLHttpRequest nativo, descubreSolo el gancho ajax puede interceptar, como se muestra en la figura siguiente:



Más usos del proxy ajax-hook:

Ejemplo:El inicio de sesión del hipervínculo es visible.

(Fin)





Anterior:Las sentencias SQL de EF generan automáticamente IS NULL o IS NOT NULL
Próximo:.NET/C# HttpClient análisis sencillo del código fuente
 Propietario| Publicado en 22/6/2023 10:32:52 |
Solicitudes y respuestas API de interceptación fetch():https://stackoverflow.com/questi ... onses-in-javascript
 Propietario| Publicado en 18/4/2024 8:39:18 |
Interceptar respuesta HTTP 401 Código de inicio de sesión no autorizado:

Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com