代码之家  ›  专栏  ›  技术社区  ›  Leo

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

  •  0
  • Leo  · 技术社区  · 13 年前

    我试图弄清楚如何在动态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 回复  |  直到 13 年前
        1
  •  0
  •   John Rogerson    13 年前

    这个 OData Query Designer XrmServiceToolkit 有两种优秀的、免费的资源可以为你做繁重的工作。

    谷歌对以上内容进行了一些研究,你应该会比现在走得更远。