我最近升级到 Cordova 5.0(和 Cordova Android 4.0),从那时起,我的应用程序无法再访问外部资源。
我还有<access origin="*" />
在 config.xml 中(和以前一样),我仍然有<uses-permission android:name="android.permission.INTERNET" />
在 AndroidManifest.xml 中(和以前一样),但是 ajax 调用被拒绝且没有任何解释(“textStatus”参数为“error”,“errorThrown”参数为 null,并且 xhr.state() 返回“rejected”)。
我已经验证没有请求到达服务器,所以它似乎被 Android 停止,但日志没有给出任何解释为什么......
我可以从 Android 浏览器访问有问题的 URL,但不能从应用程序访问。
ajax 请求是通过调用 Backbone.sync() 发出的骨干网.js http://backbonejs.org/,它最终调用jquery的$.ajax()。我没有改变任何关于如何拨打电话的信息......只是升级了科尔多瓦。
Cordova 5.0 中是否有新的网络请求要求/设置,或者我需要做哪些与以前的 Cordova 版本不同的事情?
有谁知道我可以通过什么方式获得有关 Android 和/或 Cordova 拒绝请求的更多信息?
我追踪到了罪魁祸首[电子邮件受保护] /cdn-cgi/l/email-protection科尔多瓦平台。现在需要新的科尔多瓦插件白名单 https://github.com/apache/cordova-plugin-whitelist plugin.
它可以安装
cordova plugin add cordova-plugin-whitelist
或者通过添加
<plugin name="cordova-plugin-whitelist" spec="1" />
到config.xml,然后配置为
<allow-navigation href="*" />
代替旧的,<access origin="*" />
tag.
有点烦人的是,当出现这样的问题时,日志不再输出“白名单拒绝”错误消息(这会节省我很多时间),但也许稍后会出现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)