我想创建一个上传进度条,但它无效xhr.upload.addEventListener("progress", function (e){...})
...响应错误错误未定义
$.ajax({
xhr: function () {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function (e) {
if (e.lengthComputable) {
console.log(e.loaded + " / " + e.total)
}
}, false);
return xhr;
},
type: "POST",
url: server + '/api/UserFiles/UploadFile',
contentType: false,
processData: false,
data: data,
success: function (result) {
alert("Uploaded Success");
},
error: function (err) {
console.log(err);
}
});
在consol上的响应是:错误错误未定义
答案 0 :(得分:1)
您没有正确实现错误处理程序:在您的示例中,您尝试记录一个名为err
的变量,该变量不存在。
(编辑:好的,即使使用已编辑的代码,也请继续阅读。)
According to documentation,应该是:
error: function (xhr, textStatus, thrownError) {
console.log(xhr.status);
console.error(thrownError);
}
作为旁注,不要使用alert()
:它不像console API那样功能强大,它可以执行打印数据表,运行计时器,节目等令人惊叹的事情堆栈跟踪,等等。