Вы создали var / object req
, но не отправили этот объект. Вам не хватает req.send();
Вот один образец XMLHttpRequest
var req = new XMLHttpRequest();
req.open("GET", Xrm.Page.context.getClientUrl() + "/api/data/v9.0/accounts?$select=address2_county&$filter=accountid eq 1234567899", false);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("Prefer", "odata.include-annotations=\"*\"");
req.onreadystatechange = function() {
if (this.readyState === 4) {
req.onreadystatechange = null;
if (this.status === 200) {
var results = JSON.parse(this.response);
for (var i = 0; i < results.value.length; i++) {
var address2_county = results.value[i]["address2_county"];
}
} else {
Xrm.Utility.alertDialog(this.statusText);
}
}
};
req.send();
Если можно go выполните один шаг и предложите: Попробуйте использовать Xrm.Webapi
для выполнения запроса webapi. Microsoft настоятельно рекомендует использовать Xrm.Webapi
Примечание. Xrm.Webapi
является асинхронным, вы можете использовать обещание, чтобы заставить его работать как Sync / или дождаться завершения вашего запроса sh
Xrm.WebApi.online.retrieveMultipleRecords("account", "?$select=address2_county&$filter=accountid eq 1234567899").then(
function success(results) {
for (var i = 0; i < results.entities.length; i++) {
var address2_county = results.entities[i]["address2_county"];
}
},
function(error) {
Xrm.Utility.alertDialog(error.message);
}
);