上传进度百分比不起作用

时间:2017-10-11 15:15:23

标签: javascript jquery

我想创建一个上传进度条,但它无效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上的

响应是:错误错误未定义

1 个答案:

答案 0 :(得分:1)

您没有正确实现错误处理程序:在您的示例中,您尝试记录一个名为err的变量,该变量不存在。

(编辑:好的,即使使用已编辑的代码,也请继续阅读。)

According to documentation,应该是:

error: function (xhr, textStatus, thrownError) {
  console.log(xhr.status);
  console.error(thrownError);
}

作为旁注,不要使用alert():它不像console API那样功能强大,它可以执行打印数据表,运行计时器,节目等令人惊叹的事情堆栈跟踪,等等。