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