android - Ajax API 调用不适用于cordova Android
问题描述
我正在使用mac机器开发cordova应用程序并仅在iOS中检查应用程序,但是当通过windows系统为android APK创建应用程序时,我的API调用不起作用并且总是返回错误部分,但它在iOS和浏览器中都可以正常工作
我在这个问题上发现了很多相同的问题,这些问题确实很老,但对我的情况没有帮助,也不知道为什么
以下是一些相同的问题:
1)真实设备上的 cordova/phonegap 应用程序中的 Ajax 请求失败
2) AJAX Call 在Phonegap 中不工作但工作正常
尝试了很多东西,但总是得到{"readyState":0, "responseText":"", "status":0, "statusText":"error"}
甚至创建了新的构建并生成 APK,但结果是一样的。
我正在使用以下版本:
科尔多瓦-v:9.0.0(科尔多瓦-lib@9.0.1)
javac-版本:javac 1.8.0_151
adb 版本:Android 调试桥版本 1.0.40
让我知道您是否需要我的其他任何东西,谢谢。
解决方案
终于我找到了答案
https://forum.ionicframework.com/t/err-cleartext-not-permitted-in-debug-app-on-android/164101/2
更新config.xml
为android:usesCleartextTraffic
<access origin="*" />
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:usesCleartextTraffic="true" />
</edit-config>
<allow-navigation href="*" />
这反映在 androidManifest.xml 中并解决了我的错误。
再次感谢你。
推荐阅读
- wpf - WPF:通过 MemoryStream 使用 ImageMagick 显示 gif
- go - 使用golang + vscode时如何修复错误
- php - LocalHost 上的 PHP 连接被拒绝 (HY000/2002)
- javascript - JavaScript | 返回字符串中最常见的多个字符
- regex - 如何为十进制值数组编写正则表达式?
- java - 单击列表视图时,无法在另一个活动中显示来自 sqlite 数据库资产的文本
- google-sheets - Google 表格脚本 - 如何替换公式中的文本?
- ti-basic - 通过菜单阻止 TI-Basic 继续运行
- javascript - PHP Foreach 多次显示一组值
- hive - AWS Athena(Presto with JsonSerde)在某些列名上悄悄失败,哪些是可以接受的?