En realidad, la pregunta es tan simple como dice el tema. ¿Hay alguna manera de dar a los diferentes manejadores ajax una prioridad mayor/menor (lo que significa aquí, que van a disparar antes)?jQuery - establecer la prioridad del controlador Ajax
¿Qué quiero decir? Bueno, tengo que lidiar con una aplicación web bastante grande. Toneladas de solicitudes de Ajax se disparan en diferentes módulos. Ahora, mi objetivo es implementar un mecanismo simple de tiempo de espera de sesión. Cada solicitud envía el ID de sesión actual como parámetro, si el ID de sesión ya no es válido, mi script backend devuelve la solicitud con un conjunto de encabezado de respuesta personalizado (value es un uri).
Así que estoy básicamente va como esto
window.jQuery && jQuery(document).ajaxComplete(function(event, xhr, settings) {
var redirectto = xhr.getResponseHeader('new_ajax_location');
if(redirectto) {
location.href = redirectto;
}
});
Este trabajo lo hace como un encanto, por supuesto, pero mi problema es que este evento global ajax realidad tiene que ser despedido primero el 100% del tiempo, lo cual no es el caso. Algunos de los gestores de solicitudes ajax originales arrojarán un error debido a datos faltantes o inesperados, en ese caso, el controlador global nunca se ejecutará.
Ahora, sería un poco feliz si no tuviera que pasar por cada controlador de solicitud y hacerlo a prueba de fallas para las respuestas de datos de sesión no válidos. Preferiría mucho más hacer el trabajo en un lugar en particular. Pero, ¿cómo puedo asegurarme de que mi manejador global se ejecute primero?
Probablemente utilizando la devolución de llamada 'onSuccess'. – Stefan
@Stefan: Tendría que capturar todos los resultados posibles para una solicitud, por lo que 'completo 'es bastante bueno. Pero también verifiqué establecer 'success' y' error' manualmente, desafortunadamente con el mismo comportamiento. – jAndy
Relacionados con http://stackoverflow.com/questions/290254/how-to-order-events-bound-with-jquery, ya que los eventos AJAX se implementan utilizando el sistema de eventos principales. –