无法获取属性'parse'的值:object为null或undefined

时间:2012-10-10 12:40:04

标签: javascript dynamics-crm odata datajs

我正在尝试建立连接并使用oData格式下载任何内容。指向我正在使用的服务的URL返回一个很好的oData-ishly外观文档。现在,我想将这些内容读入我的JavaScript方法并使用它一段时间。但是,由于错误导致属性parse无法找到,我无法做到。这让我很伤心。

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

  1. 在IE10中可以关闭JSON支持吗?如果是这样的话怎么办?!
  2. 如何测试我的浏览器(现在就在这里)是否可以处理JSON数据?
  3. 还可以做些什么让我的机器获取数据?
  4. 服务是否在CRM Dynamics 2011服务器上可能很重要吗?
  5. 我正在执行的代码如下所示。它是从该项目的DataJS站点获取的。当然,我已经测试了OData对象是否存在且可以访问。

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

2 个答案:

答案 0 :(得分:0)

根据数据j的faq page

  

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")

答案 1 :(得分:0)

您需要为IE9提供一个doctype以使用JSON对象,如下所示:

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