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