目前,我正在编写一个JavaScript文件,其中包含以下代码行:
var res = "JSON=" + JSON.stringify(result);
结果被设置在这条线的正上方。我遇到的问题是,IE8 (仅限IE8)向我报告JSON以某种方式未定义。我不知道该如何理解这一点,因为据我所知,IE8是一个实现了JSON支持的浏览器。有谁知道可能发生了什么吗?
发布于 2011-01-18 00:26:03
通过使用首选方法确保您实际上处于IE8模式,即标准文档类型...
<!DOCTYPE html>
...or不需要的方法,X-UA-Compatible
元标记/标头...
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
有关详细信息,请参阅Defining Document Compatibility。
发布于 2013-10-02 16:53:08
如果您已经在使用JQuery,那么使用jQuery.parseJSON为我解决了这个问题。
发布于 2011-09-04 11:14:00
如果没有doctype或doctype错误,或者html语法有一些错误,则会迫使IE使用与您期望的不同的文档模式。
我在一个测试文档中使用了简单的"“,而标题标签作为HEAD标签的子级的缺失使得window.JSON变得未定义。
请始终记住,最好针对浏览器的版本测试资源。而且,如果您的用户可以使用IE来模拟文档模式,那么当本机模式未定义时,最好有一段代码来提供JSON.parse和JSON.stringify。
https://stackoverflow.com/questions/4715373
复制相似问题