这是代码:
$.ajax({
type: "POST",
url: url,
xhr: function(e) {
//Download progress
xhr.addEventListener("progress", function(evt){
console.log(evt.lengthComputable);
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
//Do something with download progress
console.log(percentComplete);
}
});
return xhr;
},
dataType: "json",
success: function(data){
}
});
这是我用来从Codeigniter检索我的视图的函数。我想在页面加载的同时显示进度条。然而,当我将XHR放入AJAX函数时,一切都停止了。有谁知道如何使用进度条运行它。
先谢谢。
答案 0 :(得分:2)
您错过了变量声明,因此您的代码无法编译。
xhr: function () {
var xhr = new window.XMLHttpRequest(); // <<<<<<< missed this variable
//Download progress
xhr.addEventListener("progress", function (evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
//Do something with download progress
console.log(percentComplete);
}
}, false);
return xhr;
},
请注意,如果evt.lengthComputable
为false,则无法衡量请求的进度。