IE8 JSON is not defined

问题原因:

昨天遇到了一个问题。就是用ajax从后台查询数据时,返回信息无法显示,经过提示发现是IE控制台提示: JSON is not defined 错误。

而且这个问题在本人自己的电脑上是不存在的。利用IE的提示工具调试发现:当浏览器模式为 IE8及以上版本时不会出现此问题。但经过联系客户发现其使用的IE版本也是8。

当时感觉很奇怪。但后来发现客户的 IE8 使用了兼容模式,导致了IE使用较低版本的内核解析网页,引发了此问题。

解决方案:

解决此问题的方法比较简单,并且有多种方式。比如使用 eval() 函数。

但是,比较推荐的是引入jquery,使用$.parseJSON()方法来解析。

或者引入 json2.js 来解决。

json2.js 的GitHub地址:    https://github.com/douglascrockford/JSON-js

 

json2会在window下定义JSON对象,并且除了原生JSON对象提供的parse,stringify 函数外,还提供了更加丰富的功能。

详见json2的说明文档。

posted @ 2018-03-01 16:14  刀客八号  阅读(2255)  评论(0编辑  收藏  举报