2009-05-19 10 views
9

Tengo una aplicación que envía múltiples solicitudes Ajax simultáneamente. Al principio estaba corriendo en condiciones de carrera hasta que descubrí el jQuery Ajax Queue plugin, que funciona muy bien con jQuery 1.2, pero falla con jQuery 1.3. En realidad, hay dos versiones diferentes del complemento; Actualmente estoy usando this one, que es el mismo que el primero, pero solo agrega un poco más de funcionalidad.¿Cómo hago para que el complemento Ajax Queue funcione en jQuery 1.3?

De todos modos, estoy usando Firebug en Firefox 3.0.10 y cuando ejecuto mi código no recibo ningún error explícito, la llamada simplemente nunca se devuelve.

Obviamente, podría seguir usando v1.2 pero me gustaría saber por qué este complemento falla con la última versión y lo que puedo hacer para que funcione.

Gracias de antemano.

+0

¿Qué mensaje de error está recibiendo? ¿Dónde estás buscando errores? – jgreep

Respuesta

14

Debería poder utilizar el soporte de colas incorporado de jQuery si está dispuesto a hacer un poco de trabajo de campo.

// First Ajax request 
$(document).queue("ajaxRequests", function() { 
    $.ajax({ 
    // Stuff 
    success: function() { 
     $(document).dequeue("myName"); 
    }); 
    }); 
}); 

// Second Ajax request 
$(document).queue("ajaxRequests", function() { 
    $.ajax({ 
    // Stuff 
    success: function() { 
     $(document).dequeue("myName"); 
    }); 
    }); 
}); 

// Trigger the queue 
$(document).dequeue("ajaxRequests"); 

Por supuesto, sería muy fácil envolverlo en un plugin.

+0

Acabo de descubrir esta respuesta a través de Google. Esto funcionó increíble para mi sitio. ¡Gracias! –

+0

También mantener un indicador con el elemento del documento con datos() ayuda cuando desea realizar un seguimiento de las solicitudes realizadas y cuándo poner en cola las solicitudes – Kapil

+3

¿por qué se pasa el nombre para quitar "mi Nombre" del valor utilizado para ponerlas en cola? "ajaxRequests"? ¿No deberían ser los mismos (nombre de la cola)? – Ericson578

0

ajaxManager plugin se basa en el complemento Ajax Queue pero es un poco más flexible y funciona con jQuery 1.3.2.

Cuestiones relacionadas