javascript animate - Kill JQuery AJAX superposición de solicitudes




2 Answers

¿Podría crear un objeto JavaScript Sync personalizado que la función pueda compartir y realizar llamadas ajax subsiguientes? Asigne un ID generado secuencialmente como un parámetro a la llamada de solicitud entrante. Incluya el mismo ID en respuesta. Al disparar cada solicitud, asigne una nueva identificación, incrementada por 1 o la lógica que sea. Si la identificación actual en respuesta no es la misma que en el objeto compartido; ignorar la respuesta de lo contrario representar la respuesta.

esto resolvería limpiamente la condición de carrera. No estoy seguro de si hay una manera de matar la solicitud prematuramente, pero al menos no crearía el problema de renderizado que enfrenta ahora.

stop remove

¿Es posible matar una solicitud anterior de Ajax?

Tenemos datos tabulares muy adyacentes entre sí. Al pasar el mouseover de cada dato, hacemos una solicitud a nuestro servidor utilizando el objeto JQuery Ajax y se muestra en una ventana emergente.

Pero con la frecuencia con la que movemos el mouse a otros contenidos tabulares, las respuestas Ajax previas se muestran dentro de las ventanas emergentes antes de que se muestre la respuesta exacta que está destinada a ese contenido tabular.

Necesito cuando se genera una nueva solicitud de Ajax. La solicitud / respuesta anterior debe ser eliminada, de modo que siempre esté disponible la última respuesta esperada dentro de la ventana emergente.

Estoy usando JQuery, PHP y Mysql para server la solicitud.




Si y no. Ese es el punto de Ajax. Para poder hacer algo asincrónicamente Lo que quieres hacer es abortar una solicitud que destruya la idea de asincronizar. Quizás lo que puede hacer es, si envía otra solicitud, establecer un valor en algún lugar indicando el número de solicitudes, luego en las devoluciones de llamada a sus solicitudes, verificar si el monto de la solicitud es mayor que 1, si es así ignorar la respuesta.




Related

javascript jquery xmlhttprequest