Javascript 使用jQuery AJAX上载文件并同时显示上载进度

Javascript 使用jQuery AJAX上载文件并同时显示上载进度,javascript,jquery,ajax,file-upload,Javascript,Jquery,Ajax,File Upload,我正在尝试使用AJAX上传文件,同时显示上传进度。下面是我的代码: <script> function pro(obj){ var file = obj.files; $.each(file, function (i,file) { var reader = new FileReader(); reader.onload = function (e) { var data = e.target.result;

我正在尝试使用AJAX上传文件,同时显示上传进度。下面是我的代码:

<script>
function pro(obj){
    var file = obj.files;
    $.each(file, function (i,file) {
        var reader = new FileReader();
        reader.onload = function (e) {
            var data = e.target.result;
            $.ajax({
                type: "POST",
                url: "upload.php",
                contentType: "application/octet-stream",
                processData: false,
                data : data,
                xhr: function () {
                    var xhr = $.ajaxSettings.xhr();
                    xhr.upload.onprogress = function (evt) {
                        console.log(file.name+":"+(evt.loaded/evt.total*100)+"%");
                    };
                    return xhr;
                }
            });
        };
        reader.readAsArrayBuffer(file);
    });
}
</script>

<input type="file" onchange="pro(this)" multiple />

功能pro(obj){
var file=obj.files;
$.each(文件、函数(i、文件){
var reader=new FileReader();
reader.onload=函数(e){
var数据=e.target.result;
$.ajax({
类型:“POST”,
url:“upload.php”,
contentType:“应用程序/八位字节流”,
processData:false,
数据:数据,
xhr:函数(){
var xhr=$.ajaxSettings.xhr();
xhr.upload.onprogress=函数(evt){
log(file.name+“:”+(evt.loaded/evt.total*100)+“%”;
};
返回xhr;
}
});
};
reader.readAsArrayBuffer(文件);
});
}

我的代码结果只显示上传进度,但没有上传文件。如何使结果显示上载进度并同时上载文件

尝试设置
contentType:false,
请参见尝试设置
contentType:false,
请参见