Ошибка Ajax в приложении Cordova после обновления телефона до Android 9 Pie API 28 Revision 6 - PullRequest
0 голосов
/ 30 января 2019

У меня есть приложение, разработанное на Cordova 8.1.2 и скомпилированное под Android 8.1 Oreo API Level 27 Revision 3, успешно работающее в Play Store и с зарегистрированными пользователями.

В течение последних недель некоторые пользователи обновлялисьтелефоны на Android 9.0 Pie и когда они открывают приложение и делают действия регистрации или входа, они получают ajax-соединение с ошибкой сервера.

Я пробовал это в режиме разработчика с Android Studio и эмулятор с Android 9.0 Pie,и я получаю тот же результат.Я провел несколько тестов с различными URL-адресами AJAX, и вызов AJAX никогда не поступает на сервер.

Кто-то с той же проблемой?

Вот журнал ошибок в Android Studio:

2019-01-30 20:29:19.701 1921-1921/? E/netmgr: Failed to open QEMU pipe 'qemud:network': Invalid argument
2019-01-30 20:29:22.351 1754-1900/? E/storaged: getDiskStats failed with result NOT_SUPPORTED and size 0
2019-01-30 20:29:38.714 1925-2029/system_process E/memtrack: Couldn't load memtrack module

Просмотр ошибки Ajax в консоли:


    {"readyState":0,"status":0,"statusText":"error"}

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Наконец-то я решил проблему.Проблема в том, что в Android 9 Pie API 28 разрешает ajax-вызовы службам https по умолчанию.Существуют варианты:

  1. Выполнение вызовов https в URL-адресах ajax
  2. Добавление исключения для ваших сайтов http ( просмотр разработчика android )
0 голосов
/ 30 января 2019

Вам нужно загрузить API 28 и обновить инструменты платформы из менеджера SDK, я верю и перекомпилировать ваше приложение.

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