最近做到项目使用JQuery的插件ajaxFileUpload~~~
遇到了非常领人匪夷所思的事情,当图片上传成功之后呢(success),它的error事件也被触发了,情况就是:
后端数据正确返回
前端代码无误
代码如下:
$(document).on("change",".JS_uploadFile",function(){
document.domain="bookingctrip.com";//解决图片上传跨域问题
var ajaxTimeOut=$.ajaxFileUpload({
//处理文件上传操作的服务器端地址
url:serviceHOST("boss")+'/upload/file/uploadCoverImg',
secureuri:false,//一般设为false
fileElementId:"JS_uploadFile0",
timeout:10000, //超时时间设置
dataType:'json',//接受数据格式
data:formatJson(),//上传数据内容
crossDomain : true,
success:function(data){//服务器响应成功时的处理函数
//为什么success和error都走呢?
//在我各种百度,各种尝试之后发现,ajaxFileUpload这个插件,对于success回调函数里面的js报错不会在控制台输出
//而是走了它的内部错误异常捕获机制,这个可以在它的源代码内,进行控制台输出可以得到答案
//这个问题怎么解决呢,那就是保证你的success回调函数里面不会有js的语法错误,做好容错就好了 },
error:function(data, status, e){ //服务器响应失败时的处理函数 27 }
})
})
如本文所说,你遇到了是我所说的问题的话,请留下你的赞,谢谢啦!