使用ajaxfileupload.js进行文件上传,后台成功执行,前台却进入error
使用ajaxfileupload.js进行文件上传,后台正确执行,并返回了对应的响应值,但是前台进入error,返回值自动加上了<pre>标签
$.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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我也碰到过,是后台返回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));