我有两个同时发生的AJAX请求运行的问题。 我这是将数据导出到XSLX的PHP脚本。 此操作需要大量的时间,所以我想展现给用户的进展。 我使用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的计时器正在试图获得进步,我可以看到它在控制台中,但所有这些请求都加载的第一个脚本的整个持续时间,一旦脚本结束,这些AJAX的呼叫被加载
那么,为什么第二AJAX调用等待第一个跑完全程?