Как решить Access-Control-Allow-Origin в угловом приложении с помощью httpclient post request? - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь вызвать URL-адрес данных с помощью метода публикации HttpClient, я добавил заголовки вдоль вызова.Но я все еще получаю сообщение об ошибке, так как

от источника 'http://localhost:6200' заблокировано политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа: Нет' Access-ControlЗаголовок -Allow-Origin 'присутствует на запрошенном ресурсе.

Но когда я проверяю в сетях, я вижу метод, показанный как OPTIONS вместо post

Request Method: OPTIONS

Пожалуйста, найдитеHTTP-вызов ниже

const headers = new Headers();
headers.append('Access-Control-Allow-Origin','*');
headers.append('Access-Control-Allow-Methods','GET, POST, PATCH, PUT, DELETE, OPTIONS');
headers.append('Access-Control-Allow-Headers','Origin, Content-Type, X-Auth-Token');
headers.append('Content-Type', 'application/json');
let options = new RequestOptions({ headers: headers });
return this.httpClient.post(this.url, options).pipe(map(this.extractData));

Может кто-нибудь помочь решить эту проблему, я добавил файл proxy.config.json ниже

"/sap/*": {
          "target": "http://t1525bms.somecompany.com:8080/sap",
          "secure": false
        }

Таким образом, я также пытался не использовать.

1 Ответ

0 голосов
/ 19 февраля 2019

Вы можете решить свою проблему, установив в браузере расширение, которое разрешает CORS в вашем ответном запросе.

Существуют различные решения, которые вы можете найти в интернет-магазине Chrome https://chrome.google.com/webstore/search/cors?hl=en, вам нужно только установитьрасширение, которое вы предпочитаете, и включите его, тогда ваш сайт должен работать нормально.

Это «взлом», который позволяет вам только разрабатывать и тестировать свой сайт, но этот метод нельзя использовать вproduction.

Как указал Кристиан Сциллито, заголовки CORS добавляются в ответное сообщение от сервера, поэтому разработчик сервера написал API, который должен позволить вашему сайту сделатьпосле запроса клиент не может каким-либо образом изменить это поведение безопасности.

Это единственный способ заставить ваш сайт работать должным образом в среде prod.

Вместо запроса OPTIONSPOST, проблема связана с неверными заголовками, которые вы добавили в свой запрос, если вам нужна дополнительная информация, вы можете найтипоиск "предварительного запроса", связанного с ошибкой CORS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...