Http-запросы не работают в ионном приложении при развертывании на устройстве - PullRequest
1 голос
/ 30 июня 2019

Я работаю над ионным приложением, которое должно сделать HTTP-запрос к API. Это означает, что я не могу изменить настройки на стороне сервера. Я использую угловой модуль http. Моя первая попытка привела к ошибке CORS, которую мне удалось исправить с помощью прокси, как показано ниже:

"proxies": [
    {
      "path": "/api",
      "proxyUrl": "https://api.com/api/"
    }
  ]

Это прекрасно работает в браузере при использовании ionic serve, однако при развертывании на устройстве запрос не работает.

При использовании браузера он выдает код состояния 200 с правильным ответом. Код ответа

При развертывании кажется, что он возвращает тот же ответ, однако в консоли отображается следующая ошибка (извлекается с помощью удаленных устройств в Google Chrome), а также вкладка ответа на запрос пуст.

Edit: Я проверил файл AndroidManifest.xml, и он содержит разрешение на доступ в Интернет. Однако я попытался создать его для Android с полным URL-адресом вместо URL-адреса прокси-сервера, но затем приложение неожиданно закрывается.

1 Ответ

0 голосов
/ 01 июля 2019

То есть вы работаете напрямую со сторонним API? Обычно это считается плохой практикой, потому что вы должны хранить или получать ключи API в клиентском приложении. Я предлагаю вам реализовать свои собственные бэкенд и прокси-запросы к API. Если ключей нет или вы просто не заботитесь о безопасности, попробуйте другие решения, вот отличная статья о CORS: https://ionicframework.com/docs/faq/cors

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