我最近升级到Cordova 5.0(和Cordova Android 4.0),从那时起,我的应用程序无法再访问外部资源.
我仍然<access origin="*" />在config.xml中(如前所述),我仍然<uses-permission android:name="android.permission.INTERNET" />在AndroidManifest.xml中(如前所述),但是ajax调用被拒绝而没有解释("textStatus"参数是"错误","errorThrown"参数是null,xhr.state()返回"rejected").
我已经验证没有请求到达服务器,所以它似乎被Android停止了,但是日志没有给出任何解释为什么......
我可以从Android浏览器访问有问题的网址,而不是从应用程序访问.
Ajax请求是通过向Backbone.sync()的调用由Backbone.js的,它最终调用jQuery的$.阿贾克斯().我没有改变任何关于如何进行通话的信息......只是升级了cordova.
在Cordova 5.0中是否有针对网络请求的新要求/设置,或者我需要做的与以前的Cordova版本不同的任何事情?
有谁知道我可以获得更多关于为什么Android和/或Cordova拒绝请求的信息?
我想在android上部署一个非常简单的cordova应用程序.它应该启动,然后通过角度$ http拉入国家列表并显示它们.
由于某种原因它无法访问互联网,为了简化测试,我添加了一个图像标签,在网络上显示图像.图像也没有显示.
我也无法与jsconsole.com建立联系.
我在真实设备和模拟器上测试过它.在这两种情况下,应用程序都无法访问网络,但我可以在设备和模拟器上浏览网络.
我在config.xml中包含了以下内容
<access origin="*" />
Run Code Online (Sandbox Code Playgroud)
我还检查了生成的AndroidManifest.xml文件,它包含以下权限:
<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" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
这是完整的配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0"
id="com.domain.app" version="1.0.0">
<name>app</name>
<description>
A sample Apache Cordova application that responds to the
deviceready
event.
</description>
<author href="http://www.eclipse.org/thym" email="thym-dev@eclipse.org">
Eclipse.org -
Thym
</author>
<content src="index.html" />
<access origin="*" />
<preference name="fullscreen" value="true" />
<preference name="webviewbounce" value="true" />
<preference name="LogLevel" value="VERBOSE" />
<feature name="App">
<param name="android-package" value="org.apache.cordova.App" /> …Run Code Online (Sandbox Code Playgroud)