【发布时间】:2018-11-09 04:59:00
【问题描述】:
我正在尝试在我的 ionic 应用程序中使用 ionic 本机 HTTP 模块发出发布请求。当我使用 Ionic DevApp 运行应用程序时,请求有效并且应用程序运行良好。当我使用 ionic cordova run android --device 在我的设备上本地构建和运行应用程序时,http 请求失败。
我一直在尝试其他堆栈溢出问题中列出的一堆选项。我已经安装了cordova-plugin-whitelist 并修改了我的 config.xml 以包含所有不同类型的访问源并允许导航。我还确保我的 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" />
我不知道还能尝试什么,我认为这不是 API 的 CORS 问题,因为当我使用 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" />
任何指导将不胜感激,这是一个巨大的时间消耗,令人沮丧的是该应用程序功能齐全,并成功地从 Ionic DevApp 发出 http post 请求。谢谢。
【问题讨论】:
标签: android cordova http ionic-framework ionic3