我正在嘗試使用Ajax調用獲取CRM數據。數據正在以「d」和「結果」屬性返回,但我無法在客戶端獲得。它說ajaxdata.d是未定義的。jQuery ajax data.d undefined
樣品Ajax調用:
var context = Xrm.Page.context;
var serverUrl = context.getClientUrl();
var ODATA_ENDPOINT = context.prependOrgName("/xRMServices/2011/OrganizationData.svc");
var filter = "?&$select=cc_TypeID,cc_customentityId,cc_anotherAttribute&$filter=cc_TypeID eq '2'";
var odataUri = ODATA_ENDPOINT + "/cc_customentitySet" + filter;
console.log("odataUri: " + odataUri);
//Asynchronous AJAX function to Retrieve a CRM record using OData
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: odataUri,
async: false,
beforeSend: function (XMLHttpRequest) {
//Specifying this header ensures that the results will be returned as JSON.
XMLHttpRequest.setRequestHeader("Accept", "application/json");
},
success: function (ajaxdata, textStatus, XmlHttpRequest) {
//console.log("cc_campaignSynch.htm > ready > $.ajax success: " + data);
debugger;
},
error: function (XmlHttpRequest, textStatus, errorThrown) {
console.log("cc_campaignSynch.htm > ready > $.ajax error: " + XmlHttpRequest.responseText);
}
});
});
數據的快照返回:
更新快照(JSON.parse使用):
你不需要JSON.parse(ajaxdata),然後才能以這種方式訪問屬性? –
@jonnyknowsbest,jQuery應該自動處理。 – Andy
@jonnyknowsbest是正確的(請參閱上面的更新圖像)。但是,我認爲安迪已經建議了。所以混亂是爲什麼jQuery魔術在這裏不起作用? –