我在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浏览器中运行良好。 有什么输入吗?
答案 0 :(得分:8)
IE8及以上only have standards mode JSON
对象。因此,您需要确保文档具有doctype。
答案 1 :(得分:3)
我发现这是一个 IE 10 兼容性的Intranet设置,它为我的Intranet网站引发了这个异常:
“在兼容性视图中显示Intranet网站”
要更改此标志,或只是为了禁用它,请在IE 10中显示“命令栏”,然后选择“工具”> “兼容性视图设置”并取消选中 - 从底部开始的第二个选项。马上解决了这个问题。
答案 2 :(得分:1)
您需要包含json2.js
了解更多详情。在某些情况下,我们必须处理客户使用IE7标准的情况。所以我们的代码也必须迎合这种情况。数百名使用IE7标准的客户访问我们的零售网站。包括json2解决了这个问题
答案 3 :(得分:0)
在尝试使用Visual Studio 2010开发Web服务器运行ASP .NET应用程序时,我遇到了运行Windows 8和IE 10的“JavaScript运行时错误... JSON未定义”。当我打开浏览器时,单击“Alt”显示菜单,然后单击工具 - >兼容性视图设置并取消选中“在兼容性视图中显示所有网站”,我停止收到错误。