Phonegap +骨干提取,由于跨域而无法正常工作

时间:2014-02-02 14:18:13

标签: android json backbone.js cordova fetch

我目前正在开发一个带有骨干网的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中获取数据!

我真的可以使用一些帮助 干杯!

1 个答案:

答案 0 :(得分:0)

从file://协议中,对于同源来说应该没有限制,请参见此处:http://en.wikipedia.org/wiki/Same_origin_policy#Corner_cases_and_exceptions

但是,服务器可能不允许访问源自file:// url的请求,请检查您的服务器日志。要进行双重检查,您还可以访问Google Geocoding等可公开访问的网络服务(请参阅评论)。

编辑:这实际上是错误的...... 这可能是因为跨域只允许在同一协议中。由于您的phonegap应用程序从file://运行,因此在通过http(s):// protocol。

进行连接时会出现问题