我正在尝试建立连接并使用oData格式下载任何内容。指向我正在使用的服务的URL返回一个很好的oData-ishly外观文档。现在,我想将这些内容读入我的JavaScript方法并使用它一段时间。但是,由于错误导致属性parse
无法找到,我无法做到。这让我很伤心。
根据this page(以及我发现的很多其他人),主题中的错误是由不可用的JSON解析器引起的。对于IE7及以下版本来说,这个问题显然是个大问题。但我在IE9和IE10上都遇到了同样的问题。默认情况下,JSON支持应该集成到它们中。
我正在执行的代码如下所示。它是从该项目的DataJS站点获取的。当然,我已经测试了OData
对象是否存在且可以访问。
OData.read(
"https://myurl/2011/OrganizationData.svc/crmk_CustomEntitySet",
function(dataSet) { alert("Yippi!"); },
function(errorMessage) { alert("Buuuu..."); }
});
答案 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>...