首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Progressbar上传Jquery

使用Progressbar上传Jquery
EN

Stack Overflow用户
提问于 2016-03-06 03:18:01
回答 1查看 655关注 0票数 2

我有一个Ajax-Upload脚本,可以很好地工作。现在我想添加一个进度条或其他东西。我如何在下面的脚本中实现这样的东西:

代码语言:javascript
复制
  $('body').on('change', '#uploadFile', function() {

// Post-Data
var data = new FormData();
data.append('file', this.files[0]);
data.append('uid', $("#uploadFile").attr('data-uid'));


// Ajax-Call
$.ajax({
    url: "uploadUserpic.php",
    data: data,
    type: "POST",
    processData: false,
    contentType: false,
    success : handleData 
});
});

function handleData(data) {
   $("#messagePic").html(data);

   //do some stuff
}
EN

回答 1

Stack Overflow用户

发布于 2016-03-06 03:32:23

使用$.ajax是不可能的,您需要XMLHttpRequest对象。试试这个:

代码语言:javascript
复制
var data = [];

$.ajax({
    xhr: function () {
        var xhr = new window.XMLHttpRequest();
        // For Upload
        xhr.upload.addEventListener("progress", function (evt) {
            if (evt.lengthComputable) {
                var percentComplete = evt.loaded / evt.total;

            }
        }, false);
        // For Download
        xhr.addEventListener("progress", function (evt) {
            if (evt.lengthComputable) {
                var percentComplete = evt.loaded / evt.total;

            }
        }, false);
        return xhr;
    },
    type: 'POST',
    url: "/echo/html",
    data: data,
    success: function (data) {}
});

http://jsfiddle.net/GvdSy/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35818673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档