Я пытаюсь сделать пост-запрос с помощью собственного ионного модуля 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. Благодаря.