Ich versuche eine Seite schneller zu laden, indem ich alle Datenbankaufrufe in separate Skripte aufspalte und gleichzeitig mit ajax ausfühle. Ich habe einige Nachforschungen angestellt und festgestellt, dass jQuery eine $ .when(). Then() Funktion hat, die sich darum kümmern kann. Ich bin in Ordnung mit den Grundlagen von Ajax, aber das Konzept der aufgeschobenen/Versprechen hat mich ein wenig verwirrt. Ich habe den folgenden Code versucht, aber es wird nur die Daten aus dem ersten Ajax-Ergebnis laden. Beim Auskommen des ersten wird der nächste geladen, aber nur einer wird auf der Seite angezeigt. Schätzen Sie jede Hilfe mit diesem. Vielen Dank.Mehrere simultane Ajax-Anfragen (mit einem Callback) in jQuery
$.when( $.post('extensions/ext_adjustments_investigation/general_details.php', {sku: sku},function(data) { result = data; }),
$.post('extensions/ext_adjustments_investigation/location_information.php', {sku: sku},function(data1) { result1 = data1; }),
$.post('extensions/ext_adjustments_investigation/annotations.php', {sku: sku},function(data2) { result2 = data2; }),
$.post('extensions/ext_adjustments_investigation/adjustment_history.php', {sku: sku},function(data3) { result3 = data3; })
).then(
function() {
$("#searching").addClass("hidden");
$("#load").prop("disabled",false);
$("#general").html(result).hide().slideDown()("slow");
$("#location").html(result1).hide().slideDown()("slow");
$("#anno").html(result2).hide().slideDown()("slow");
$("#history").html(result3).hide().slideDown()("slow");
}
);
https://jsfiddle.net/rayon_1990/x41gacoj/ – Rayon
Sehen Sie sich diese ähnliche Frage an http://stackoverflow.com/questions/287188/how-to-know-when-all-ajax-calls-are-complete – Bolza