0

I have a JS which has odata $select and $filter to retrieve a field called "ct_portfolioid" filtering using the ct_portfoliocode

The url does not seem to return the portfolioid.The url is undefined.

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");
            },
4

1 回答 1

0

作为手动编码协议数据的替代方案,您可以尝试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 版本

于 2012-05-02T13:57:53.277 回答