我有一个使用Cordova 8.1.2开发的应用程序,并在Android 8.1 Oreo API Level 27 Revision 3下编译,可在Play商店和注册用户中成功使用.
在过去的几周中,一些用户已将手机升级到Android 9.0 Pie,当他们打开该应用并进行注册或登录操作时,他们会收到Ajax通信,并显示服务器错误.
我已经在Android Studio的开发人员模式下以及在Android 9.0 Pie的Emulator中进行了尝试,并且得到了相同的结果.我使用不同的ajax URL进行了一些测试,并且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"}
最佳答案
最后,我解决了这个问题.问题在于,在Android 9 Pie API 28中,默认情况下允许ajax调用https服务.有以下选项:
>在ajax网址中进行https调用
>为您的http网站添加例外(view developer android)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。