Получение ошибки CORS при вызове пользовательской службы Dynamics 365 Operations на основе JSON с использованием Javascript
Я разрабатываю простое приложение SPA и пытаюсь получить доступ к пользовательской службе Dynamics 365 для Operations на основе JSON. Я использую библиотеку ADAL.js для аутентификации. Путь для аутентификации я придерживаюсь в этой теме сообщества Dynamics.
Но, после успешного получения действительного токена и вызова моего целевого API с приобретенным токеном, я не могу вызвать API и получить ошибку CORS.
Скриншот PSB для того же
Ниже приведен мой пример кода:
var req = new XMLHttpRequest()
req.open("POST", organizationURI + "/api/services/ServiceGroup/Service/Operaton", true);
//Set Bearer token
req.setRequestHeader("Authorization", "Bearer " + token);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
req.onreadystatechange = null;
if (this.status == 200) {
var empData = JSON.parse(this.response).value;
console.log(empData);
}
else {
var error = JSON.parse(this.response).error;
console.log(error.message);
errorMessage.textContent = error.message;
}
}
};
req.send();
1 ответ
Вы получаете эту ошибку, потому что ваш локальный хост конфликтует с доменом службы. CORS - проблема совместного использования ресурсов.
Вероятно, вы должны добавить этот фрагмент:
req.setRequestHeader('Access-Control-Allow-Origin', '*');
Тем не менее, если между вашим размещенным SPA & Dynamics API возникает конфликт, нужно его разрешить.
JavaScript - ошибки XMLHttpRequest, Access-Control-Allow-Origin