是否可以使用 AJAX 显示当前 MySQL 查询进度? 我有一个简单的 AJAX 请求,可以从 MySQL 数据库获取数据,但有时需要一段时间,例如 5 秒(这取决于行数)。
这是代码:
$.ajax({
xhr: function()
{
var xhr = new window.XMLHttpRequest();
//Download progress
xhr.addEventListener("progress", function(evt){
var percentComplete = evt.loaded / evt.total;
console.log(percentComplete);
}, false);
return xhr;
},
url: '/main/pw_RedrawGraph/',
type: 'POST',
dataType: 'json',
data: {
date_from: date_from,
date_to:date_to
},
success:function(data){
console.log(data)
}
});
如您所见,我尝试使用 xhr 进度执行此操作,但不起作用,因为 evt.loaded/evt.total
是无限的
知道如何解决这个问题吗?
最佳答案
这是给你的还是给用户的?
如果执行时间的差异较小......我会很想猜测需要多长时间,无论是通过几次基准测试还是通过存储运行时间的滚动平均值。
然后,我会构建一个进度条,其填充速度比适当的速度稍慢,因此很少会填充。
如果失败,我就使用旋转器。
关于javascript - AJAX MySQL查询进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32888955/