Ionic - HTTP POST-запрос не работает на родном Android, но работает на Ionic Devapp - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь сделать пост-запрос с помощью собственного ионного модуля HTTP в моем ионном приложении. Когда я запускаю приложение с помощью Ionic DevApp, запрос работает и приложение работает нормально. Когда я использую ionic cordova run android --device для собственного создания и запуска приложения на моем устройстве, http-запрос не выполняется.

Я пробовал несколько вариантов, перечисленных в других вопросах переполнения стека. Я установил cordova-plugin-whitelist и изменил свой config.xml, чтобы включить все различные типы доступа orgin и разрешить навигацию. Я также удостоверился, что у моего Манифеста Android есть:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

Я в растерянности из-за того, что еще я могу попробовать, и я подумал, что это не проблема CORS с API, поскольку запрос отлично работает, когда я использую ionic serve -c для запуска его через Ionic DevApp.

Просто для справки, мой запрос API выглядит так:

 var headers = {}
 this.http.setDataSerializer('json')
 return this.http.post(API_URL, send_data, {headers: headers})
  .then(data => {
 ...
 }

В моем файле config.xml я включил:

<access origin="*" />
<access origin="*" subdomains="true" />
<allow-navigation href="http://*/*" />
<allow-navigation href="https://*/*" />
<allow-navigation href="localhost:8080" />
<allow-navigation href="data:*" />
<allow-intent href="http://*/*" />
<allow-intent href="localhost:8080" />

Будем весьма благодарны за любые рекомендации, это потребует огромных затрат времени, и разочаровывает то, что приложение полностью функционально и успешно выполняет запрос http-сообщения от Ionic DevApp. Благодаря.

1 Ответ

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

Вы пытались подключить Chrome-отладчик, чтобы увидеть, почему ваш почтовый запрос не выполняется? Вы можете сделать это, перейдя в chrome: // inspect Там вы сможете увидеть свое приложение (при условии, что ваш телефон подключен и находится в режиме разработки). После того, как вы увидите свое приложение, нажмите проверить. Это должно открыть окно отладчика Chrome, позволяющее увидеть сетевой трафик.

Пожалуйста, ответьте с результатом.

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