У меня проблема с двумя одновременными запросами AJAX. У меня есть PHP script, который экспортирует данные в XSLX. Эта операция занимает много времени, поэтому я пытаюсь показать прогресс пользователю. Я использую подход AJAX и базы данных. На самом деле, я уверен, что он работал, но я не могу понять, почему он больше не работает ни в одном браузере. Что-то изменилось в новых браузерах?
$(document).ready(function() {
$("#progressbar").progressbar();
$.ajax({
type: "POST",
url: "{$BASE_URL}/export/project/ajaxExport",
data: "type={$type}&progressUid={$progressUid}" // unique ID I'm using to track progress from database
}).done(function(data) {
$("#progressbar-box").hide();
clearInterval(progressInterval);
});
progressInterval = setInterval(function() {
$.ajax({
type: "POST",
url: "{$BASE_URL}/ajax/progressShow",
data: "statusId={$progressUid}" // the same uinque ID
}).done(function(data) {
data = jQuery.parseJSON(data);
$("#progressbar").progressbar({ value: parseInt(data.progress) });
if (data.title) { $("#progressbar-title").text(data.title); }
});
}, 500);
});
- прогресс корректно обновляется в базе данных
- Таймер JS пытается получить прогресс, я вижу его на консоли, но все эти запросы загружают всю длительность первого script, как только заканчивается script, эти вызовы прогресса ajax загруженный
Итак, почему второй вызов AJAX ожидает завершения первого?