使用cdvfile时,AJAX被阻止 - Phonegap

时间:2014-09-01 01:54:26

标签: ajax cordova phonegap-build

从打包文件中执行AJAX(例如,位置" 文件:///android_asset/www/index.html")效果很好,但是从本地文件(例如& #34; cdvfile :// localhost /persistent / TEST / index.html")没有。

我想这与同源政策有关。有什么办法可以让它发挥作用吗?

如果我是从互联网上阅读文件,我会设置网络服务器添加一些" Access-Control-Allow-Origin"标题,但这里没有网络服务器。使用jsonp会起作用,但它意味着更改服务器和应用程序中的代码。

这是在Android 4.1.2&amp ;;上测试的。 4.4.2使用Phonegap 3.4。

1 个答案:

答案 0 :(得分:3)

实际上使用toNativeURL代替toURL可以解决问题,因为toNativeURL使用file协议而不是cdvfile协议。

它还使window.location = pathToLocal;在Phonegap 3.5中工作(参见我的另一个问题Cannot change location to local file eg cdvfile://path/index.html in Phonegap 3.5)。