微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajaxFileUpload接收服务器传来的json数据

说来也奇怪,用ajaxFileUpload上传文件的同时带过几个数据过去,本来很简单的的一件事情却遇到的麻烦。responseBody返回的json数据格式为带的头信息为application/json,而ajaxFileUpload它认可的头信息为text/html,也就是说当服务器的头信息为application/json的时候,浏览器接收到的json数据会变成

<prestyle="word-wrap:break-word;white-space:pre-wrap;">json</pre>"

当时看到这个我就傻眼了,莫非要搞正则去匹配解析出来!这也太麻烦了。转而想到了信息头的事情,果然,responseBody注解返回的json数据认的头信息contenType是application/json,而ajaxFileUpload是认为text/html,我只好把responseBody去掉,自己手动来返回字符串了,大致的代码是这样的:

response.setContentType("text/html;charset=UTF-8");
PrintWriterpw=newPrintWriter(response.getoutputStream());
Stringstring=objectMapper.writeValueAsstring(information);
string=newString(string.toString().getBytes("UTF-8"));
pw.print(string);
pw.close();

objectMapper为jackson包的讲object转为json用的,很好用,推荐。

基本上就解决了这个奇葩问题。

原文地址:https://www.jb51.cc/ajax/163861.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐