首页 > 为什么 ajaxFileUpload 上传成功后却执行 error

为什么 ajaxFileUpload 上传成功后却执行 error

使用 ajaxFileUpload 插件上传图片的时候,在 UC 浏览器下会出现问题:

图片上传成功了,能返回生产的图片 URL,但是却执行 error 报错,为什么呢?

$.ajaxFileUpload({
    url:'/group_action/upload_image',
    secureuri:false,
    fileElementId:'pub_upload_img',
    dataType: 'json',
    success: function (d){
        if(d.result == 1){
            alert(d.url);
        }else{
            alert(d.msg);
        }
    },
    error: function(data, status, e){
        alert(data.responseText);
    }
});

可能是你上传的图片太大了,超时了吧,你把超时时间设置长点试试~


我也遇到这个问题了,但是断点总是先跑到error中,然后进success,在success里返回的data为空,但是网络中返回的有值,求大神助攻


alert(d)看看,你确定是json返回结果吗?

参考我的:

<script>
$(document).ready(function(){
    $('#test').click(function(){
        $.ajaxFileUpload({
              url:'{:U("Index/upload")}',
              secureuri: false,
              fileElementId:'file',
              dataType: 'text',//返回数据类型
              success: function (data, status){
                  //alert(data);
                  $("#img").attr("src","http://127.0.0.1/6/0604/Uploads/2015-06-06/"+data);
              },
              error: function (data, status, e)//服务器响应失败处理函数
              {
                  alert(e);
              }
            });
        //$('#upload').submit();
    });
});
</script>

http://my.oschina.net/rain21/blog/425565


朋友,我也遇到了这个问题,用了一天时间最终解决了,都是uc浏览器坑的,返回的json里面多了一段uc的js,现付解决方法,希望能帮到你:
if (type == "json"){

        ***var position = data.indexOf('}')+1;
        data = data.substring(0,position);***
        eval("data = " + data);
    }
    加粗的那两句放进相应的ajaxfileupload.js文件中就行了,就是截取了有效的json,保证是合法的json字符串

检查后端返回的数据是什么。

【热门文章】
【热门文章】