使用技术为:ssm+jsp+layerui。
问题描述:最近做了一个文件上传(ajax),其他浏览器都可以正常使用,但是使用火狐浏览器有时候上传一个文件,过11-12分钟会重复上传这个文件,有时候重复上传一次,有时候重复上传多次,实在找不到原因,特来求解
以下为文件上传部分代码。
function startSel(){
var aa = false;
$.ajax({
url : "/batchSearch/batchSearchQuery",
type : "POST",
dataType : "json",
async:false,
success : function(data) {
if (data != null) {
if (data.success) {
layer.alert('处理中(正在验证),请稍候再试', {
icon : 5
});
aa = true;
}
}
},
error : function() {
layer.alert('网络连接异常,请稍后再试!', {
icon : 5 });
}
});
if (aa) {
return;
}
$("#boatch01").removeClass("display");
$("#boatch02").addClass("display");
var timer = setTimeout(function() {
changeInputFile();
findBatchExcel();
}, 2000);
clearInterval(fun1);
fun1 = setInterval(function(){getUploadState()},10000);
var formData = new FormData();
formData.append("inputFile",$("#inputFile")[0].files[0]);
$.ajax({
url : '/batchSearch/batchUpload',
type : 'POST',
data : formData,
// 告诉jQuery不要去处理发送的数据,用于对data参数进行序列化处理 这里必须false
processData : false,
// 告诉jQuery不要去设置Content-Type请求头
contentType : false, //必须
async:false,
success: function (data) {
console.log(11);
if(data.code == 'e'){
layer.alert(data.msg, {
skin : 'layui-layer-shenlan',
time :5000,
closeBtn : 0
},
function(){
window.location.reload(true);
});
}else if (data.code == 'n') {
layer.msg(data.msg,{time:5000});
findBatchExcel();
changeInputFile();
clearInterval(fun);
}else{
findBatchExcel();
changeInputFile();
}
},
error : function(message) {
console.log(22);
setTimeout(function() {
layer.closeAll('loading');
}, 2000);
}
});
return false;
}
async:false, 设置为异步试试