json在jquery 2.0.2 ie10中未定义

时间:2013-06-27 08:34:20

标签: jquery json

我们有一个新的asp.net Web应用程序,我们刚从google cdn引用了jquery 2.0.2,没有其他代码。当我们运行它时,我们得到Json undefined error.code附加。

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

</head>
<body>
    <form id="form1" runat="server">
    <div>

    </div>
    </form>
</body>
</html>

3 个答案:

答案 0 :(得分:1)

我遇到了同样的错误(IE10 + visual studio 2012), 引用Json2库或设置doctype并不能解决问题。

我通过清除所有IE10缓存和浏览历史记录解决了这个问题。

答案 1 :(得分:0)

你加载2.0.0而不是2.0.2,但这不是问题。
您的问题是您的文档不是以标准模式呈现,而是以怪异模式呈现,JSON - 这是jquery所需 - 只有在文档处于标准模式时才能在IE中使用。

有关IE9中的问题,请参阅此文章(应与IE 10相同):

IE9 JSON Not Defined

您使用doctype

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

这就是为什么IE在 quirks 几乎是标准模式。要让您以标准模式登录,请使用doctype:

<!DOCTYPE html>

来自jQuery页面的引用:

  

不要使用Quirks模式! jQuery从未支持Quirks模式,我们也没有在Quirks中执行任何测试。

修改 我重新检查了使用过的doctype。它应该触发几乎标准模式,这应该不是问题,你确定在doctype之前没有任何换行符或其他字符吗?如果将文档类型更改为<!DOCTYPE html>无效,请给我发表评论。

答案 2 :(得分:0)

我在IE9中遇到了同样的问题。我的页面已经有了

<!DOCTYPE html>

我添加了它以使其正常工作。

<meta http-equiv="X-UA-Compatible" content="IE=edge">