jsp页面引用ajaxFileUpload.js插件上传图片,返回结果时,success和error方法都被触发
前端代码
function ajaxFileUpload() {
var inputFile = $("#file1 > input:file")[0];
if (file1.getValue()) {
$.ajaxFileUpload({
url: "<%=basePath%>/../..", //文件上传的服务器端请求地址
type: 'POST',
fileElementId: inputFile, //文件上传域的ID
secureuri: false,
data: {
userId: user_id,
orgId: org_id,
mapType: "1",
}, //附加的额外参数
dataType: 'text', //返回值类型
success: function (data) //服务器成功响应处理函数
{
console.log("succ:"+data)
var code = data[code];
},
error: function (e) //服务器响应失败处理函数
{
console.log("error:"+e)
},
complete: function () {
var jq = $("#file1 > input:file");
jq.before(inputFile);
jq.remove();
}
});
}else {
mini.alert("请选择上传文件")
}
}
原因分析:
success回调中*var code = data[code]*这行代码报错,触发了error回调.
ajaxFileUpload这个插件,对于success回调函数里面的js报错不会在控制台输出,而是走了它的内部错误异常捕获机制,这个可以在它的源代码内,进行控制台输出可以得到答案.
解决方法
那就是保证你的success回调函数里面不会有js的语法错误