Включить CORS через Angular - PullRequest
0 голосов
/ 02 ноября 2019

Я использую Angular 7, и я должен создать фронтенд с бэкэндом, развернутым на Heroku. Так как я не могу отредактировать бэкэнд (который, очевидно, не поддерживает CORS), я не могу получить доступ к API, и у меня появляется ошибка:

Доступ к XMLHttpRequest по адресу http://ebit -front-test.herokuapp.com / register 'from origin' http://localhost:4200' заблокирован политикой CORS: Ответ на предполётный запрос не проходит проверку контроля доступа: не имеет статуса HTTP ok. register.service.ts: 31

Бэкэнд вернул код 0, тело было: [объект ProgressEvent]

Есть ли способ включить CORS через Angular или избежать этой проблемы. Я пробовал с настраиваемой конфигурацией прокси, но это не было хорошо.

* Этот вопрос отличается от других подобных тем, что у них фактически есть доступ к их бэкэнду, тогда как я должен решить проблему без доступа к бэкэнду.

Ответы [ 2 ]

0 голосов
/ 02 ноября 2019

Для всех остальных, имеющих эту проблему, я нашел способ избежать ошибки CORS. Если вы запускаете Chrome без веб-безопасности, ошибка CORS исчезнет.

Это не включает CORS, поэтому это временное решение, если у вас нет доступа к вашему бэкэнду, но вам нужно разработать веб-интерфейс.

Шаги для запуска без веб-безопасности:

1) Запустите командную строку от имени администратора и с помощью этой команды убейте все экземпляры Chrome:

taskkill / F / IM chrome. exe

2) Запустите новый экземпляр Chrome с отключенной веб-защитой с помощью этой команды:

start chrome https://teckangaroo.com/chrome-disable-web-security/ –disable-web-security –user-data-dir = ”C: \ teckangaroo.com ”

Это должно сделать это!

0 голосов
/ 02 ноября 2019

CORS необходимо настроить на сервере для «настоящего» приложения, которое, как вы ожидаете, будут использовать не разработчики.

Однако для целей тестирования вы можете использовать прокси-сервер для добавления заголовков, которыеследует добавить сервер.

См., например, https://elements.heroku.com/buttons/marcus2vinicius/cors-anywhere

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