phonegap 3.2 blackberry10不允许跨域访问

时间:2013-12-10 22:13:28

标签: cordova blackberry-10 blackberry-simulator blackberry-webworks

我有现在在iOS,Android甚至wp8上正常运行的cordova / phonegap应用程序。我为blackberry10构建应用程序,并能够在模拟器中运行它。该应用程序首先要做的是尝试进行一些远程XHR调用,但这些调用失败了。以下是我在远程chrome控制台中看到的错误:

403 (Forbidden)

https://bloblbolob.kjsdghs.dsf Origin local:// is not allowed by Access-Control-Allow-Origin.

XMLHttpRequest cannot load https://sdkjf.jksdj.kdj Origin local:// is not allowed by Access-Control-Allow-Origin.

我已编辑了config.xml,并使用以下行手动替换了access属性:

<access subdomains="true" uri="*" />

然而,这没有任何区别。

3 个答案:

答案 0 :(得分:4)

BlackBerry 10上的XmlHttpRequest(XHR)不允许使用*通配符。

如果您打算在BlackBerry 10应用程序中使用XHR,则必须将URL列为白名单,作为config.xml中的访问元素。

有关访问外部资源的更多信息: https://developer.blackberry.com/html5/documentation/beta/accessing_external_resources_webworks.html

答案 1 :(得分:2)

有一种可能性可以绕过你的问题。您可以完全禁用应用的WebSecurity:

http://cordova.apache.org/docs/en/3.2.0/guide_platforms_blackberry10_config.md.html

<preference name="WebSecurity" value="disable"/>

这会产生一些负面影响,但会解决您的问题。我遇到了同样的问题,因为我的应用程序的后端托管在我们的客户网络中。这使得无法将服务器列入白名单。

答案 2 :(得分:1)

在config.xml中添加

<access subdomains="true" uri="http://domain.in" />因为这是黑莓的单独标签

请注意:请勿在URI部分添加*,因为Blackberry不允许使用“*”通配符。