Javascript 无法获取属性的值';解析';:对象为null或未定义
我正在尝试使用oData格式建立连接并下载任何内容。指向我正在使用的服务的URL将返回一个外观良好的oData文档。现在,我想将这些内容读入我的JavaScript方法中,并使用它一段时间。但是,由于属性Javascript 无法获取属性的值';解析';:对象为null或未定义,javascript,dynamics-crm,odata,datajs,Javascript,Dynamics Crm,Odata,Datajs,我正在尝试使用oData格式建立连接并下载任何内容。指向我正在使用的服务的URL将返回一个外观良好的oData文档。现在,我想将这些内容读入我的JavaScript方法中,并使用它一段时间。但是,由于属性parse不可查找的错误,我无法找到它。这让我很难过 根据(以及我发现的许多其他人)主题中的错误是由不可用的JSON解析器引起的。这个问题对于IE7及以下版本来说显然是个大问题。但我在IE9和IE10上,两者都遇到了相同的问题。默认情况下,JSON支持应该集成到它们中 在IE10中可以关闭JSO
parse
不可查找的错误,我无法找到它。这让我很难过
根据(以及我发现的许多其他人)主题中的错误是由不可用的JSON解析器引起的。这个问题对于IE7及以下版本来说显然是个大问题。但我在IE9和IE10上,两者都遇到了相同的问题。默认情况下,JSON支持应该集成到它们中
OData
对象是否存在并且可以访问
OData.read(
"https://myurl/2011/OrganizationData.svc/crmk_CustomEntitySet",
function(dataSet) { alert("Yippi!"); },
function(errorMessage) { alert("Buuuu..."); }
});
根据datajs的标准:
IE6和IE7(以及在兼容模式下运行的更高版本)不会
没有本机JSON支持,因此需要添加额外的
对json2.js的脚本引用
下面是一个简单的脚本标记,可以包含在
文档头来解决这个问题。另一个解决方案是包含该文件
在您自己的web服务器中,并在本地引用它
如果您使用的是IE7或IE8,我使用的另一种解决方案是将其添加到页面加载事件的第一行(假设您使用的是.NET):
要使用JSON对象,需要为IE9提供doctype,如下所示:
<!DOCTYPE html>
<html>
<head>...</head>
<body>...
...
...
如果JSON
不可用,错误会说'JSON'未定义
不是'parse'未定义
@jbabey OK,当它呈现(1)无意义时,回答(2)。让我们看看是否有人可以在(3)和(4)处挥杆。到目前为止,我发现的关于我的错误的唯一参考是那些描述IE7和更低版本的错误。那时候肯定是个大问题,它掩盖了我现在的问题。我不可能是唯一一个得到这个的人!在IE9和更高版本上…您是否可以将实际导致错误的代码发布到Odata.read()
中?如果看不到parse
调用的上下文(也不知道Odata.read
),很难说出发生了什么。@jbabey我仔细查看了文件datajs-1.0.3.min.js
并尽我所能(加上intellisense支持这一说法),该文件中没有parse
的定义。这鸭子是什么意思?!(有意输入错别字)我的意思是——很明显为什么会出现错误——du'h,但我很难相信他们上传了一个在CodePlex上有严重缺陷的文件。在我看来,谷歌不会因为这一点而被点击无数次,这是一种保证,事实并非如此。回答您的问题-我不知道如何找到它。:)对不起,我在IE9和IE10上。因此,缺少JSON不是问题所在(正如您所指出的)。我只是看不出执行时的问题。我只看到最后我们陷入了错误函数。
<!DOCTYPE html>
<html>
<head>...</head>
<body>...