Приложение Angular Ioni c, развернутое в Firebase, не может получить доступ к внешним API хоста - PullRequest
0 голосов
/ 22 марта 2020

Я работаю над своим первым Angular Ioni c проектом с Firebase. Я работаю вместе с бэкэнд-разработчиком, который создает REST API с помощью Firebase, используя Java. Код внешнего интерфейса Angular в настоящее время развернут в firebase с использованием интерфейса командной строки firebase-tools, а внутренний интерфейс развернут в облаке Google на appspot.com. На моем локальном хосте у меня нет проблем с вызовом конечных точек API, но когда развертывается приложение внешнего интерфейса, все HTTP-вызовы не выполняются. Я подозреваю, что это проблема CORS, потому что кодовая база находится на разных хостах? При открытии сетевых инструментов сами вызовы не возвращают ни кода ответа, ни тела, просто говорят, что произошел сбой, как показано на скриншоте ниже. Более того, когда я go к деталям, URL-адрес является правильным, а когда я копирую и вставляю его в свой браузер, он работает нормально. Нужна помощь, чтобы понять, в чем проблема. Могу ли я сделать вызовы API для внешних API за пределами моего хоста Firebase?

enter image description here

1 Ответ

1 голос
/ 22 марта 2020

Да, очень вероятно, что CORS заблокировал запрос. У вас есть 2 варианта.

Если у вас есть права администратора сервера или вы можете отправить запрос кому бы то ни было, вы можете настроить сервер на прием этих запросов.

Например, PHP Вы должны установить следующий заголовок в начале страницы, который обрабатывает запросы:

header("Access-Control-Allow-Origin: *");

Или вы можете попробовать использовать собственный http-плагин на клиенте вместо angular по умолчанию httpClient, где вы делаете вызовы к вашему API.

...