将手机升级到Android 9 Pie API 28修订版6后,Cordova App中出现Ajax错误

我有一个使用Cordova 8.1.2开发的应用程序,并在Android 8.1 Oreo API Level 27 Revision 3下编译,可在P​​lay商店和注册用户中成功使用.
在过去的几周中,一些用户已将手机升级到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)

上一篇:第三讲 RAPID指令


下一篇:Genome Sequencing ofMuseumSpecimens Reveals Rapid Changes in the Genetic Composition of Honey Bees i