Ich bin komplett neu in Javascript/Jquery Welt und brauche etwas Hilfe. Im Moment schreibe ich eine HTML-Seite, auf der ich 5 verschiedene Ajax-Aufrufe machen muss, um die Daten zum Zeichnen von Graphen zu bekommen. Gerade jetzt, ich rufe diese 5 Ajax-Aufrufe wie folgt aus:Parallele Ajax-Aufrufe in Javascript/jQuery
$(document).ready(function() {
area0Obj = $.parseJSON($.ajax({
url : url0,
async : false,
dataType : 'json'
}).responseText);
area1Obj = $.parseJSON($.ajax({
url : url1,
async : false,
dataType : 'json'
}).responseText);
.
.
.
area4Obj = $.parseJSON($.ajax({
url : url4,
async : false,
dataType : 'json'
}).responseText);
// some code for generating graphs
)} // closing the document ready function
Mein Problem ist, dass in obigen Szenario alle Ajax-Aufrufe seriell werden. Das heißt, nachdem 1 Anruf beendet ist, 2 Starts, wenn 2 3 Starts abgeschlossen hat usw. Jeder Ajax-Anruf dauert etwa 5 - 6 Sekunden, um die Daten zu erhalten, wodurch die gesamte Seite in etwa 30 Sekunden geladen wird .
Ich habe versucht, den Async-Typ als wahr zu machen, aber in diesem Fall bekomme ich die Daten nicht sofort, um den Graphen zu zeichnen, der meinen Zweck zunichte macht.
Meine Frage ist: Wie kann ich diese Anrufe parallel machen, so dass ich alle diese Daten parallel bekomme und meine Seite in weniger Zeit geladen werden könnte?
Vielen Dank im Voraus.
Wer hat dir gesagt, dass du so antworten sollst? –