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

前端之家收集整理的这篇文章主要介绍了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.f2er.com/ajax/163861.html

猜你在找的Ajax相关文章