首页 > 使用ajaxfileupload.js进行文件上传,后台成功执行,前台却进入error

使用ajaxfileupload.js进行文件上传,后台成功执行,前台却进入error

  1. 使用ajaxfileupload.js进行文件上传,后台正确执行,并返回了对应的响应值,但是前台进入error,返回值自动加上了<pre>标签

  2. $.ajaxFileUpload({

            url:"xxx", //用于文件上传的服务器端请求地址
            secureuri:false,//一般设置为false
            fileElementId:"", //文件上传空间的id属性
            type:"post",
            dataType:"text/html",
             success:function (responseText) {//服务器成功响应处理函数
                if(responseText=="error1"){
                    // func1();
                    return;
            }else if(responseText=="error2"){
                    // func2();
                    return;
            }else{
                    // func3();
                    return;
                                    }
            },error:function (responseText){
                alert(responseText);
                alert(responseText.responseText);
            }
    

浏览器截图

第一个alert

第二个alert


我也碰到过,是后台返回json数据格式问题。
如果后台直接返回对象,某些浏览器会直接下载json文件或者进入error回调方法,我当初查了好像是因为ajaxfileupload 只支持ContentType("text/html");
参考:http://www.oschina.net/question/107380_151555

我的解决方法是:通过text文件字符串传输数据。
AJAX:$.ajaxFileUpload({ dataType: 'text' });
后台JAVA:
response.setContentType("text/html;charset=utf-8");
response.getWriter().write(JSON.toJSONString(result));

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