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用的,很好用,推荐。

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

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...