SCRIPT5009:“JSON”未定义

在IE 9 SCRIPT5009: 'JSON' is undefined出现以下错误SCRIPT5009: 'JSON' is undefined只有在兼容模式下才会SCRIPT5009: 'JSON' is undefined 。 导致此错误的行是

 JSON.stringify(togObj.Answers) 

在IE(非兼容模式),Chrome或Firefox中不会出现此错误。 任何想法发生了什么?

看到这里的博客文章解释的情况: 解决JSON是在Internet Explorer中的未定义错误

在你的页面中包含JSON库 ,你应该很好。

JSON 在兼容模式下不可用IE :

在以下文档模式中不受支持:Quirks,Internet Explorer 6标准,Internet Explorer 7标准。

由于您不应该首先使用兼容性模式(或更糟糕的是,重新组合),您应该通过添加有效的文档types将IE切换到标准模式。

是的,JSON是在现代浏览器中本地定义的,但不在IE中定义。 你需要导入一个库。 例如, ajax/libs/json2/20110223/json2.js

我已经做了本地Jquery添加.NEt 2.0代码testing,它工作正常没有任何问题。 但是,将代码迁移到IIS v6服务器然后从相同的IE浏览器访问,然后问题出现“JSON”未定义。 阅读这个build议之后,下载json2.js文件并添加到源代码中。

 <script type="text/javascript" src="json2.js"></script> 

一切工作都很好。

好的谢谢你。

只是上面提供的链接的更新(2013!),

根据http://www.json.org/js.html ,页面底部的链接将引用您最新的实现:

https://github.com/douglascrockford/JSON-js

你需要包含json2.js

看json2包含

更多细节。 有些情况下,我们必须处理客户使用IE7标准的情况。 所以我们的代码也不得不迎合这种情况。 我们是零售网站是由数百个使用IE7标准的客户访问。 包括json2解决了这个问题

如果您在页面上使用jQuery库,则可以使用$.parseJSON