在CRM 2011中使用OData检索多个

时间:2014-08-12 15:04:18

标签: javascript json dynamics-crm-2011 odata

我想要检索多条记录。这是我的代码;

function GetQuoteDetails(quoteId) {
var serverUrl = Xrm.Page.context.getServerUrl();
var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
var odataSetName = "QuoteDetailSet";
var odataSelect = serverUrl + ODATA_ENDPOINT + "/" + odataSetName + "$filter=QuoteId/Id eq guid'" + quoteId + "'";
var jSonArray = new Array();
$.ajax({
    type: "GET",
    contentType: "application/json; charset=utf-8",
    datatype: "json",
    url: odataSelect,
    beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json"); },
    success: function (data, textStatus, XmlHttpRequest) {
        if (data && data.d != null) {
            jSonArray.push(data.d);
        }
    },
});
return jSonArray;
}

它什么都不返回。但是应该返回4条记录。问题在哪里?

1 个答案:

答案 0 :(得分:0)

由于这是异步调用,因此无法从函数GetQuoteDetails返回。要进行验证,请使用Console.log或alert来检查data.d值是什么。