Этот вопрос задается здесь , но ни одно из решений не работает для меня.Я получаю следующую ошибку в приложении угловых электронов.
Ответ на предварительный запрос не проходит проверку контроля доступа: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin».Следовательно, Origin 'http://localhost:4200' не разрешен доступ.
Ниже приведен мой код:
const formData = new FormData(), xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => {
if (xhr.readyState === 4) {
if (xhr.status === 200 || xhr.status === 201) {
observer.next(JSON.parse(xhr.response));
observer.complete();
}
else if (xhr.status === 404) {
observer.error('404');
}
else {
observer.error(xhr.response);
}
}
};
xhr.onerror = function () { throw new Error('Not found'); };
xhr.upload.onerror = function () { throw new Error('Not found'); };
const url = this.baseUrl + this.accessTokenParam;
xhr.open('POST', url, true);
xhr.send(formData);
Я также добавил следующие заголовки после xhr.open но ничего не изменилось:
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
xhr.setRequestHeader('Access-Control-Allow-Methods','GET,PUT,POST,DELETE');
xhr.setRequestHeader('Access-Control-Allow-Headers', 'Content-Type');
Я также пытался следовать этому руководству, но я получаю ошибку (имя не найдено) в XDomainRequest .
Отключение веб-безопасности в Chrome также не работает в этом случае.
open -a Google \ Chrome --args --disable-web-security --user-data-dir
Пожалуйста, помогите!