注意点
1,ajax添加progress进度条必须是异步!!!!
代码:
//上传
function importBuildingInfo(url,type){
var formData = new FormData($("#msgForm")[0]);
formData.append("type",type);
$('.loadsmall').show()
$.ajax({
url:url,
type:'POST',
async : true,//这个是最重要的,必须是异步哟
data:formData,
processData:false, // 告诉jQuery不要去处理发送的数据
contentType: false, // 告诉jQuery不要去设置Content-Type请求头
dataType:"json",
xhr: function(){ //获取ajaxSettings中的xhr对象。
var xhr = $.ajaxSettings.xhr();
if (xhr.upload) {
xhr.upload.addEventListener("progress", function (e) {
var loaded = e.loaded;//已经上传大小情况
var tot = e.total;//附件总大小
var per = Math.floor(100*loaded/tot)+'%'; //已经上传的百分比
$(".progress-text").text(per); // 文件上传进度显示值
$(".progress-bar").width(per); // 进度条状态
console.log(e)
console.log('附件总大小 = ' + loaded);
console.log('已经上传大小 = ' + tot);
}, false);
return xhr;
}
},
success: function(res) {
$(".progress-text").text('100%'); // 文件上传进度显示值
$(".progress-bar").width('100%'); // 进度条状态
$('.loadsmall').hide()
if(res.code==0){
findPropertyProblemList({})
table.reload('testReload', {data:tabledata});
layer.msg('上传成功', {icon: 1});
}else{
layer.msg(res.msg||'上传失败', {icon: 2});
}
},
error:function(err){
layer.msg('程序出错,请刷新后重试,或联系管理员', {icon: 2});
$('.loadingbox,.loadsmall,.progress').hide()
$(".progress-text").text(0); // 文件上传进度显示值
$(".progress-bar").width(0); // 进度条状态
},
});
}