我目前正在开发一个带有骨干网的phonegap应用,但我无法从跨域网站上获取我的数据。
在Android上测试应用程序没有给我带来任何结果,但使用“chromium-browser --disable-web-security”在chrome中测试它会让我对我需要的数据做出成功回应。
使用phonegap我添加了以下代码行:
config.xml中
<access origin=".*"/>
的AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
JSON
[
{
"id":"918",
"merk":"Yamaha",
"type":"YZF R1"
... 它是一个有效的json文件。
我的主干collectionName.fetch()不起作用,并且在应用内部进行简单的ajax调用无效。 有什么理由说我无法从我的phonegap安卓应用程序中的api中获取数据!
我真的可以使用一些帮助 干杯!
答案 0 :(得分:0)
从file://协议中,对于同源来说应该没有限制,请参见此处:http://en.wikipedia.org/wiki/Same_origin_policy#Corner_cases_and_exceptions
但是,服务器可能不允许访问源自file:// url的请求,请检查您的服务器日志。要进行双重检查,您还可以访问Google Geocoding等可公开访问的网络服务(请参阅评论)。
编辑:这实际上是错误的...... 这可能是因为跨域只允许在同一协议中。由于您的phonegap应用程序从file://运行,因此在通过http(s):// protocol。
进行连接时会出现问题