我在很多地方使用 JSON.Stringify
和 JSON.parse
,在Firefox中可以很好地工作。但在IE9中无法正常工作,甚至在IE8中也不能工作。我该怎么办?
我在很多地方使用 JSON.Stringify
和 JSON.parse
,在Firefox中可以很好地工作。但在IE9中无法正常工作,甚至在IE8中也不能工作。我该怎么办?
JSON.stringify
以小写字母 s
开头。在IE8+中都可用, 但只有在 标准模式 下才可使用 stringify
和 parse
方法。
如果您当前使用的是怪异模式,请在文档前添加 <!DOCTYPE html>
。同时,注意调用 JavaScript 方法时的大写和小写 - 所有内置方法都以小写字符开头。
JSON.stringify
时,我很惊讶它被内置到浏览器(Firefox)中,尽管我确定它在IE8中不起作用。我忘记在IE8中进行测试,果然一旦我在那里尝试,我的应用程序就无法正常工作了。感谢提供的有帮助的解决方案! - blong如果有其他需要 (比如我在另一个库中使用了"use strict"),你可以考虑一种替代方案,在某些情况下可能需要以严格模式运行。具体信息请参考这里:https://github.com/douglascrockford/JSON-js。我对此进行了修改,首先检查 JSON 是否未定义,只有在它未定义的情况下才生成函数 JSON.parse:
if (typeof JSON === "undefined") {
var JSON = {
parse: <insert value of json_parse from library here>
};
}
我的问题是应用程序代码在IE9中无法工作(我认为是由参与库使用的严格模式引起的)。这对我解决了问题。