9

我在 Windows 8 上使用 IE 10 兼容性,在调试模式下运行 WebApp(VS 2012)时出现此错误。0x800a1391 - JavaScript 运行时错误:“JSON”未定义 下面的代码

var data = JSON.stringify(GetUserDetails());

function GetUserDetails() {
    var userData = {};
    userData.userName = $('#txtUserName').val();
    userData.password = $('#txtPassword').val();
    return userData;
}

此外,奇怪的事实是 IIS 8 中托管的相同代码在 IE 10 浏览器中运行良好。有什么输入吗?

4

4 回答 4

8

IE8 及以上只有标准模式下JSON对象。因此,您需要确保文档具有 doctype。

于 2013-03-12T11:32:00.347 回答
3

我发现这是IE 10兼容性的 Intranet 设置为我的 Intranet 站点引发了此异常:

“在兼容性视图中显示 Intranet 站点”

要更改此标志,或者只是简单地禁用它,请在 IE 10 中显示“命令栏”,然后选择“工具”>“兼容性视图设置”并取消选中该选项 - 倒数第二个。立即修复了问题。

在此处输入图像描述

于 2013-12-05T11:49:26.183 回答
1

您需要包含 json2.js

json2 包含

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

于 2013-09-06T15:14:15.087 回答
0

在尝试使用 Visual Studio 2010 开发 Web 服务器运行 ASP .NET 应用程序时,我在运行 Windows 8 和 IE 10 时遇到了相同的“JavaScript 运行时错误 ...JSON 未定义”。当我打开浏览器时,单击“Alt”以显示菜单,然后单击“工具”->“兼容性视图设置”并取消选中“以兼容性视图显示所有网站”,我不再收到错误消息。

于 2013-08-14T19:31:28.667 回答