如何在oData查询中使用GUID并解析JSON

时间:2013-04-12 13:03:53

标签: json xmlhttprequest dynamics-crm-2011 odata dynamics-crm-online

我试着弄清楚如何在动态CRM中处理Odata查询和XMLhttprequet 但是,无论我试图做什么,最终都没有起作用。

因此,麻烦的是如何通过创建XMLhttprequest来发送带有GUID的oDAta查询。 我检查了下一个代码中的查找GUID gof记录也是如此。

另外,我注意到oData查询效果也很好,我认为是因为我在处理JSON时遇到了一些问题。我想知道,它是否以我的方式同步工作? 最后,我想解析一个responseText以获得一个“new_address1”变量。

实际上,如果我在查找的文本数据上更改GUID,此代码可以正常工作,但它不是最好的解决方案,有时它会复制

有没有人在oData查询中使用GUID?

提前致谢

 function test() 
   {
 //take a value from lookup
 var lookupItem = new Array(); 
  lookupItem = Xrm.Page.getAttribute("custom").getValue();
    var name = lookupItem[0].id; 

   var oDataPath =  "http://`ServerName`/`Organization`/xrmservices/2011/OrganizationData.svc/AccountSet(guid'" + name + "')";
 var retrieveRecordsReq = new XMLHttpRequest();
  retrieveRecordsReq.open("GET", oDataPath, true);
  retrieveRecordsReq.setRequestHeader("Accept", "application/json");
  retrieveRecordsReq.setRequestHeader("Content-Type", "application/json; charset=utf-8");

  retrieveRecordsReq.onreadystatechange = function () {
   if (this.readyState == 4) {
   if (this.status == 200) {
      var retrievedRecords = JSON.parse(retrieveRecordsReq.responseText).d;
  var address = retrievedRecords.results[0].new_address1;
alert(address);        
   }
}
};
     retrieveRecordsReq.send();}

1 个答案:

答案 0 :(得分:0)

OData Query DesignerXrmServiceToolkit是两个优秀的免费资源,可以为您提供繁重的工作。

上面的一些谷歌研究,你应该比你有更多。