我有一个JS,它有一个$select
和$filter
,可以使用ct_portfoliocode
检索一个名为"ct_portfolioid"
过滤的字段
url似乎没有返回投资组合ID。url未定义。
var serverUrl = Xrm.Page.context.getServerUrl();
var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
var filter="ct_apxportfoliocodeSet?$select=ct_portfolioid&$filter=ct_portfoliocode eq '" + portfolioCode +"'";
$.ajax({
async: true,
type: "GET",
url: serverUrl + ODATA_ENDPOINT + "/"+filter,
contentType: "application/json; charset=utf-8",
dataType: 'json',
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Accept", "application/json");
},
作为手动编码协议数据的替代方案,您可以尝试JayData,它为您提供了一个基于OData的高级语义API,并支持JavaScript语言查询和原生crud操作。
使用JayData,您不必手动组装oData $filter, $sort, $select
等表达式,还可以使用本地JavaScript语法。
使用JayData:可以更容易地实现上面的查询
$data.YourContext.filter(function(a) {return a.ct_portfolicode==this.portfolioCode;}, {portfolioCode: YourValue})
.map(function(p) {return p.ct_portfolioid;})
.toArray(...);
您可以从CodePlex 下载最新的JayData版本