我有一个带有odata $select
和$filter
的JS,可以使用"ct_portfolioid"
ct_portfoliocode
过滤的字段
url似乎没有返回portfolioid。网址未定义。
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");
},
答案 0 :(得分:0)
作为手动编码协议数据的替代方案,您可以尝试JayData,通过JavaScript语言查询和本机crud操作支持为您提供基于OData的高级语义API。
使用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版本