本文章仅作为记录...
在开发中,页面上接收的返回数据为JSON格式的时候,有时候没有正确显示结果,而是提示下载也有可能是报JS错误。
这样的情况其实是没有正确解析JSON串导致的,或者是JSON串不标准。
通常可以在配置文件中设置返回类型为json可以解决。
本文记录的情况是页面数据在有的浏览器显示正常,有的提示下载。这个典型的浏览器就是IE,在IE10下没有问题,但是在IE10版本之下的,以及IE内核的浏览器中会出问题。
这时候可以配置一下 contentType属性。
比如我在struts.xml里面配置如下:
<result name="STATUS_JSON" type="json">
<param name="includeProperties">status,message</param>
<param name="ignoreHierarchy">false</param>
<param name="contentType">text/html</param>
</result>
这样页面就会解析JSON数据。
具体原因可以参考如下文章:
http://blog.youkuaiyun.com/guoxu775/article/details/7345388
我也是参考了这文章。
添加了这个属性之后页面可以解析JSON。
附:js解析JSON串的方式:
var result = eval('('+resultText+')');
alert(result.message)