Javascript 在CRM 2011中使用OData检索多个

Javascript 在CRM 2011中使用OData检索多个,javascript,json,dynamics-crm-2011,odata,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 + "/

我想检索多条记录。这是我的密码

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条记录。问题出在哪里?

因为这是异步调用,所以无法从函数GetQuoteDetails返回。要进行验证,请使用Console.log或alert检查data.d值。

将odataSelect url插入浏览器会给您带来什么?您的代码是异步的,可能在执行success函数之前检查jsonArray