0x800a1391 - JavaScript运行时错误:IE 10中未定义“JSON”

时间:2013-03-12 11:29:45

标签: json visual-studio-2012 internet-explorer-10 iis-8

我在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 个答案:

答案 0 :(得分:8)

IE8及以上only have standards mode JSON对象。因此,您需要确保文档具有doctype。

答案 1 :(得分:3)

我发现这是一个 IE 10 兼容性的Intranet设置,它为我的Intranet网站引发了这个异常:

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

要更改此标志,或只是为了禁用它,请在IE 10中显示“命令栏”,然后选择“工具”> “兼容性视图设置”并取消选中 - 从底部开始的第二个选项。马上解决了这个问题。

enter image description here

答案 2 :(得分:1)

您需要包含json2.js

请参阅json2 inclusion

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

答案 3 :(得分:0)

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