0

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

根据此页面(以及我发现的许多其他页面),主题中的错误是由不可用的 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..."); }
});
4

2 回答 2

0

根据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")
于 2012-10-10T14:19:45.887 回答
0

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

<!DOCTYPE html>
<html>
     <head>...</head>
     <body>...
于 2015-09-28T11:19:22.457 回答