Jestem całkowicie nowy w świecie Javascript/jquery i potrzebuję pomocy. W tej chwili piszę jedną stronę HTML, gdzie muszę wykonać 5 różnych wywołań Ajax, aby uzyskać dane do wykreślania wykresów. Teraz wzywam tych 5 połączeń ajax jak to:Równoległe wywołania Ajax w 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
Moim problemem jest to, że w powyższym scenariuszu, wszystkie wywołania Ajax będą seryjnie. Oznacza to, że po 1 zakończeniu połączenia 2 rozpoczyna się, gdy 2 kończy 3 itd. Każde wywołanie Ajax zajmuje około 5 - 6 sekund, aby uzyskać dane, co powoduje załadowanie całej strony na około 30 sekund. .
Próbowałem uczynić typ async jako prawdziwy, ale w takim przypadku nie otrzymuję danych od razu, aby wykreślić wykres, który pokonuje mój cel.
Moje pytanie brzmi: W jaki sposób mogę wykonać te połączenia równolegle, aby zacząć otrzymywać równolegle wszystkie te dane, a moja strona mogła zostać załadowana w krótszym czasie?
Z góry dziękuję.
kto kazał ci uzyskać taką odpowiedź? –