收到错误 跨源请求仅支持 iPhone cordova/phonegap 应用程序的 HTTP。这在安卓上工作正常。
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 的配置.xml配置如下:
<allow-navigation href="*" />
<allow-intent href="*" />
<access origin="*" />
我也尝试使用cordova插件文件,它也抛出CORS错误。我尝试删除平台并再次添加。
我使用phonegap准备ios,然后使用xcode进行构建。
如果您使用的是iOS WKWebView,您将无法通过XHR访问文件。如果您使用的是 cordova-ios <6.0.0,那么您可以添加 cordova-plugin-file-xhr 插件。 问题是使用 WKWebView 的 XHR 调用不会设置源并中断请求的 CORS,甚至中断到本地主机(通过 file://(。
如果您使用的是 cordova-ios>= 6.0.0,则缺少此功能,您应该回退到 5.1.1