Hallo Ich habe mehrere Ajax-Aufruf, was ich tun wollte ist, sie alle asynchron abzufeuern dann warten, bis alle von ihnen fertig sind, bevor die zurückgegebenen Daten verarbeitet werden. Ich habe versucht, $ .when, aber ohne Erfolg zu verwenden. Hier ist mein Code:Warte, bis alle multiplen asynchronen Ajax-Aufrufe abgeschlossen sind
//form_identifier_list is my flag to get the multiple forms in my html page
function test(form_identifier_list){
var deffereds = [];
$.each(form_identifier_list, function(key,value){
var this_form = $(this).parents('.ajaxed_form');
deffereds.push($.post($(this_form).attr("action"), $(this_form).serializeForm()));
});
$.when.apply($, deffereds).done(function(){
//how to output response obj?? i tried console.log(data) to no avail
}).fail(function(){
}).always(function(){
});
}
Ich habe auch meine AJAX-Anfragen haben nicht reponse (was ich in meinem Browser überprüft).
Gibt es eine Möglichkeit, mehrere Ajax-Aufrufe asynchron zu feuern und dann zu warten, bis alle fertig sind und auf die Daten zugreifen?
Dank
Ihr Code sieht mit dem möglichen OK Ausnahme von Ihrer Verwendung von '.always()' in einer Versprechenskette. Sie müssen beschreiben, wie der Code fehlschlägt und/oder welche Fehler aufgetreten sind. – Alnitak
'Ich habe auch bemerkt, dass meine Ajax-Anfragen keine Antwort haben '- Wenn deine Ajax-Anfragen keine Antwort haben - was erwartest du dann, um deine Done-Funktion einzuloggen? – Adam
Wenn ich meinen $ .post mehrfach anrufe, hat der letzte eine Antwort. Ich werde meinen Code für Ihre Referenz setzen –