Проблема с CORS в react-native приложении
Вопрос, в общем, в большей степени принципиальный. Я столкнулся с невозможностью получить данные со стороннего API с помощью GET запроса. Если бы речь шла о браузерном приложении, я бы не удивился так как это именно браузеры не позволяют получать данные с нарушением CORS. Но в данном случае проблема всплыла в react native приложении на android устройстве. Просто интересно, где тут заложен механизм, реализующий CORS? Запрос делаю с помощью FETCH api. Есть ли альтернативы FETCH, позволяющие обойти проблему. Спасибо.
Ответы (2 шт):
Проблема точно не может быть в CORS, как правильно вы заметили, в браузерах идет эта проверка. Из сайта:
The security model for XMLHttpRequest is different than on web as there is no concept of CORS in native apps.
Возможно в настройках AndroidManifest.xml проблемы.
А еще может вы пытаетесь по http обращаться к серверу, а нужно по https.
В итоге, пытаясь воспроизвести ошибку, убрал в запросе реверсивный прокси, и всё чудесным образом заработало как надо. Почитал документацию, да, CORS не должен работать в react native приложениях, как в браузерах. Не знаю, что вызвало ошибку ранее. Делал приложение чисто для себя пару месяцев назад. Прекрасно работая на эмулированном в Android Studio девайсе, отказалось работать на физическом телефоне. Сейчас вдруг все заработало. Вопрос закрыт. Спасибо.