2009-05-19 4 views
9

Ich habe eine App, die mehrere Ajax-Anfragen gleichzeitig sendet. Ich lief ursprünglich in Rennbedingungen, bis ich die jQuery Ajax Queue plugin entdeckte, die gut mit jQuery 1.2 funktioniert, aber mit jQuery 1.3 fehlschlägt. Es gibt tatsächlich zwei verschiedene Versionen des Plugins; Ich verwende derzeit this one, die die gleiche wie die erste ist, aber nur ein bisschen mehr Funktionalität hinzugefügt.Wie gehe ich vor, um das Ajax Queue Plugin in jQuery 1.3 zu verwenden?

Wie auch immer, ich benutze Firebug auf Firefox 3.0.10 und wenn ich meinen Code ausführen bekomme ich keine expliziten Fehler, der Anruf wird nur nie zurückgegeben.

Ich könnte natürlich weiterhin v1.2 verwenden, würde aber gerne erfahren, warum dieses Plugin mit der neuesten Version scheitert und was ich tun kann, um es zum Laufen zu bringen.

Vielen Dank im Voraus.

+0

Welche Fehlermeldungen erhalten Sie? Wo suchen Sie nach Fehlern? – jgreep

Antwort

14

Sie sollten die integrierte Warteschlangenunterstützung von jQuery verwenden können, wenn Sie bereit sind, ein wenig Kleinarbeit zu leisten.

// 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"); 

Natürlich wäre es ziemlich einfach, das in ein Plugin einzubinden.

+0

Ich habe diese Antwort gerade über Google entdeckt. Das hat für meine Seite erstaunlich funktioniert. Vielen Dank! –

+0

Auch das Führen eines Flags mit dem Dokumentelement mit data() hilft, wenn Sie Anfragen verfolgen und die Anfragen in die Warteschlange stellen wollen. – Kapil

+3

Warum wird der Name "myName" von dem Wert, der beim Aufreihen verwendet wird, entfernt? "ajaxRequests"? Sollten sie nicht gleich sein (Name der Warteschlange)? – Ericson578

0

ajaxManager Plugin basiert auf dem Ajax Queue Plugin, ist aber etwas flexibler und funktioniert mit jQuery 1.3.2.

Verwandte Themen