Web API之Retrieve Multiple

[javascript]  view plain  copy
 
  1. var    filter = "?$filter=name eq '123'";  
  2.     var req = new XMLHttpRequest()  
  3.     req.open("get", encodeURI(Xrm.Page.context.getClientUrl() + "/api/data/v8.0/accounts/" + filter, false));  
  4.     req.setRequestHeader("Accept""application/json");  
  5.     req.setRequestHeader("Content-Type""application/json; charset=utf-8");  
  6.     req.setRequestHeader("OData-MaxVersion""4.0");  
  7.     req.setRequestHeader("OData-Version""4.0");  
  8.     req.onreadystatechange = function () {  
  9.         if (this.readyState == 4) {  
  10.             if (this.status == 200) {  
  11.                 var data=JSON.parse(this.responseText).value;  
  12.             }  
  13.             else {  
  14.                 var data=this.responseText;  
  15.             }  
  16.         }  
  17.     };  
  18.     req.send();  
结果如下图,一个object即为一条数据记录,filter的写法和odata时一致。
Web API之Retrieve Multiple_第1张图片


      这里着重提下lookup字段的filter写法和原来的不大一样,这里lookup字段你的属性名为new_testid,在filter中的写法是_new_testid_value后面直接eq,另外个要注意的是guid上往往会带左右大括号{},这个得去掉,简单的说就是严格遵守odata version4.0的语法就对了。

你可能感兴趣的:(Web API之Retrieve Multiple)