@Mariik

Как происходит обмен внешними данными в Cordova/Phonegap?

Решил попробовать для себя разработку мобильных приложений
используя фрэймворк Cordova. Да, знаю - способ не оптимальный. Наитивый код в разы лучше. Для изучения фрэймворка решил сделать простой клиент к новостному сайту. Благо дело у сайта есть RSS фид. Первая мысль была использовать Ajax запрос. Но кроссдоменные запросы браузером блокируются, а вариант использования JSONP подходит далеко не в каждом случае. Итак, как же лучше поступить? Вводить промежуточный серер, получающий на входе XML и отдающий JSONP? Затратно по ресурсам.
Может быт есть другой выход? Как вообще организовывается обмен внешними даннымии в Cordova?
  • Вопрос задан
  • 2388 просмотров
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Да, знаю - способ не оптимальный.

Для бизнес-приложений вполне себе нормально. И для прототипирования. Отдельно рекомендую посмотреть на Ionic.

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

Да, в браузере (причем для того же хрома это можно отключить запустив оный с --disable-web-security). А у вас webview. Проверка на кросдоменные запросы реализуется на уровень выше и при использовании webview напрямую не влияет на работу. Так же есть параметры для самой cordova. Так же есть CORS, так как все остальное кастыль. И да, используйте REST для взаимодействия.
Ответ написан
AMar4enko
@AMar4enko
Не совсем очевидная штука, но когда открывается index.html html5 приложения в Cordova, он открывается по file:// протоколу - в этом случае политики кросс-доменных запросов не применяются.
Поэтому то, что не работает из-за CORS у вас в браузере в процессе отладки, вполне будет работать на устройстве.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы