2012-10-10 43 views
0

我试图建立连接并使用oData格式下载任何内容。指向我正在使用的服务的URL返回一个很好的oData-ishly看文档。现在,我想将这些内容读入我的JavaScript方法中并使用它一段时间。我不能,但是,由于该属性parse不可找到的错误。那样令我伤心。无法获取属性“解析”的值:对象为空或未定义

根据this page(以及我发现的其他许多人),主题中的错误是由不可用的JSON解析器导致的。对于IE7及其以下版本来说,这个问题显然是一件大事。但我在IE9和IE10上都遇到同样的问题。 JSON支持应该默认集成到它们中。

  1. 可以在IE10中关闭JSON支持,如果是这样的话?
  2. 我该如何测试浏览器是否可以在这里处理JSON数据?
  3. 还有什么可以使我的机器获得数据?
  4. 服务是否在CRM Dynamics 2011服务器上可能很重要吗?

我正在执行的代码如下。它在该位置从项目的DataJS站点获取。当然,我已经测试了OData对象存在并且可以访问。

OData.read(
    "https://myurl/2011/OrganizationData.svc/crmk_CustomEntitySet", 
    function(dataSet) { alert("Yippi!"); }, 
    function(errorMessage) { alert("Buuuu..."); } 
}); 
+1

如果'JSON'不可用的错误会说'” JSON'未定义',''parse'未定义'。 – jbabey

+0

@jbabey好的,这回答(2),因为它呈现(1)模拟。让我们来看看是否有人能够在(3)和隐式地(4)中挥杆。到目前为止,我发现的唯一对我的错误的引用是那些描述IE7及更低版本的引用。当时一定是一个问题的地狱,它掩盖了我的,更新的问题。我不能成为唯一一个得到那个¤%&/!的人!在IE9和更高... –

+1

你可以发布'Odata.read()'里面的代码实际上是造成错误吗?没有看到'parse'调用的上下文(并且不知道“Odata.read”的心脏),很难说出发生了什么。 – jbabey

回答

0

您需要提供一个文档类型为IE9使用JSON对象,像这样:

<!DOCTYPE html> 
<html> 
    <head>...</head> 
    <body>... 
0

按照faq page为datajs:

IE6和IE7(以及更高版本在兼容模式下运行)做 没有原生JSON支持,所以你需要添加额外的 脚本参考json2.js。

以下是一个简单的脚本标记,可以包含在 文档头中以解决此问题。另一种解决方案是将文件 包含在您自己的Web服务器中,并在本地引用它。

<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js"></script>

如果你使用IE7或IE8,我用的是在你的页面加载事件的第一行添加此替代方案(假设你使用.NET):

// switch to IE8 compatibility mode so that we have the JSON object in javascript 
Response.AddHeader("X-UA-Compatible", "IE=8") 
+0

对不起 - 我在IE9和IE10上。所以缺少JSON不是问题(正如你指出的那样)。我在执行**时看不到问题**。我只看到我们最终陷入错误的功能。 –

相关问题