得到错误的跨源请求只支持HTTP在iPhone cordovaphonegap应用程序。这在Android上工作正常。
var url = 'info.json'; // a localhost file in the www folder
var jqxhr = $.getJSON(url, function(data) {
console.log( "LOADING SUCCESS: ",data );
}).fail(function(data) {
console.log( "LOADING FAILED: ",data );
});
我已经尝试了许多内容安全策略。我最近使用的是
default-src * data: blob: filesystem: about: ws: wss: 'unsafe-inline' 'unsafe-eval' 'unsafe-dynamic';
script-src * data: blob: 'unsafe-inline' 'unsafe-eval';
connect-src * data: blob: 'unsafe-inline';
img-src * data: blob: 'unsafe-inline';
frame-src * data: blob: ;
style-src * data: blob: 'unsafe-inline';
font-src * data: blob: 'unsafe-inline';
cordova -plugins -whitelist的config.xml配置为:
<allow-navigation href="*" />
<allow-intent href="*" />
<access origin="*" />
我也试过使用cordova-plugin-file,也会出现CORS错误。我试过删除平台,然后再添加。
我使用phonegap准备ios,然后使用xcode构建。
如果你使用的是iOS WKWebView,你将无法通过XHR访问文件。如果你使用的是cordova-ios < 6.0.0,那么你可以在XHR中添加以下内容 cordova-plugin-file-xhr)。 插件.问题是WKWebView的XHR调用没有设置原点,并且中断了CORS请求,即使是对localhost(通过file:/)。
如果你正在使用cordova-ios >= 6.0.0,那么这个功能是缺失的,你应该回到5.1.1。