Intereting Posts
Переупорядочение записи LRUCache при использовании get Android java.lang.RuntimeException: не удалось создать экземпляр активности ComponentInfo Обработка событий приложения Android Как расширить от AsyncTask как базовый базовый класс? Чтобы активность Android всегда использовалась в режиме ландшафта Если отмечена кнопка переключения или нет Как избавиться от предупреждения: используйте '$' вместо '.' Для внутренних классов в Eclipse В нескольких приложениях используется один и тот же контент-провайдер Показать диалог с сенсорными событиями над заблокированным экраном в Android 2.3 MinSdk! = DeviceSdk SQLite запрос на обновление Android Google + Вход: активность не запускается Android Studio создает debug apk, но не развертывает / запускает на устройстве Манифест изменений отменяет после сборки Показать текущее местоположение и соседние места и маршрут между двумя местами с помощью API Google Maps на Android

Ионный Android не отвечает на вызовы AJAX с помощью белого списка Cordova

Кто-нибудь знает, как я могу дать разрешение на использование Android Ionic для совершения междоменных вызовов $ http?

Я пробовал предложения, упомянутые в этом сообщении: Ionic + Angular – Как избежать «404 Not Found (from cache)» после запроса POST?

У меня установлен метатег для контента, чтобы принимать все, но мое приложение по-прежнему не разрешает никаких вызовов AJAX (AngularJS $http.get ).

 <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"> 

Ошибка в

Ionic.bundle.js: 17746, сообщение об ошибке 'failed'

(Нет данных). Звонки, которые я пытаюсь сделать, не являются https.

Прекрасно работает в iOS.

Пример вызова:

 $http.get(AppConfig.apiHost + "/api/user/", {params: {user_id: target_user_id}}) .success(function (target_user) { // do something}) .error(function (error) { console.log(error)}); 

РАЗЛИЧИЯ ОТ КОММЕНТАРИЙ НИЖЕ

Вот мой config.xml: https://gist.github.com/metalaureate/6f8237b673dacc1412c0b928b7a3d9e5

Cordova CLI: 6.0.0 Ionic Версия: 1.0.0-rc.0 Ionic CLI Версия: 1.7.14 Ionic App Lib Версия: 0.7.0 версия ios-deploy: 1.8.5 ios-sim версия: 5.0.6 ОС: Mac OS X El Capitan Node Версия: v0.12.2 Версия Xcode: Xcode 7.3 Сборка версии 7D175

Плагины: cordova-plugin-приложение-событие, значок cordova-plugin-card, плагин-кордова-плагин, кордова-плагины-контакты, кордово-плагин-устройство, кордо-плагин-файл, кордова-плагин-файл-передача, плагин-изображение-подборщик, Cordova-плагин-inappbrowser, Cordova-плагин-белый список, Cordova-плагин-х-socialsharing, Cordova-плагин-х-тосты, de.appplant.cordova.plugin.local-уведомление, PhoneGap-plugin- От себя

Все вызовы AJAX терпят неудачу.

Все тесты на реальном Samsung S4

Это очень неопределенная ошибка, но вот несколько советов, которые вы могли бы попытаться выяснить причину своей проблемы:

  • Если на вашем устройстве Android <4.4: обновите его, попробуйте с другим устройством с более новой версией или используйте Crosswalk для использования функции CSP со старыми версиями Android
  • Обновите ваши ионные источники
  • Укажите белый URL вашего хоста API в настройках CSP. Тем не менее, default-src * должен охватывать это. Вы также можете попытаться полностью удалить контент CSP: <meta http-equiv="Content-Security-Policy"> (не рекомендуется для производства!)
  • Можете ли вы попасть на хост API (или любой другой URL-адрес) из любого другого приложения на вашем устройстве? Если нет, вы можете проверить соединение Wi-Fi вашего тестового устройства;)

Добавлен плагин

 ionic plugin add https://github.com/apache/cordova-plugin-whitelist.git 

Может ли уйти по URL-адресу на простом браузере Chrome? Можно ли добавить <meta http-equiv="Content-Security-Policy" content="default-src 'self' https://maps.googleapis.com/ https://maps.gstatic.com/ 'unsafe-inline' 'unsafe-eval'"> где« http://your url »находится внутри тега после метатега googleapis.com.

Я могу думать, что это может быть проблема CORS. Если возможно, попробуйте внести изменения в файл ionic.project и добавить новое свойство

  { 2 "name": "app", 3 "app_id": "", 4 "proxies": [{ 5 "path": "/api/myurl", 6 "proxyUrl": "http://Your-URL" 7 }] 8 } 

И получение запроса по имени пути, а не по URL-адресу

$http.get('/api/myurl/')

Ссылки: – http://ionicinaction.com/blog/how-to-fix-cors-problems-and-no-access-control-allow-origin-header-errors-with-ionic/

http://ionicinaction.com/blog/how-to-fix-cors-issues-revisited/

IONIC, Access-Control-Allow-Origin

Ионное приложение не может подключить сервер с поддержкой cors с помощью $ http

http://blog.ionic.io/handling-cors-issues-in-ionic/

Теперь этот же вопрос не случается с кордорой.

Надеюсь, поможет.