我使用Ionic html元素开发了一个Phonegap应用程序。 Android应用程序一切正常,但在iOS中它会抛出错误:“无法访问跨源请求。”
虽然我在config.xml中添加了一个标签,即allow-navigation,我在其中提供了我的api url。但它仍然会出现同样的错误。
尝试使用“”,“http:// / *”,但仍无效。
答案 0 :(得分:0)
您使用的是适用于iOS的WKWebView插件吗?由于CORS限制,在WKWebView中有known issues xhr请求。有几种可能的解决方法。
您可以安装local-webserver plugin,以便通过http://代替file:// URIs来提供所有资产。
WKWebView插件的Ionic's fork也支持XHR请求。
答案 1 :(得分:0)
您可能正在使用ionic-webview-plugin?
如果是这种情况,则必须删除本机url的file:///
部分。
必须删除URL的file://部分,以便正确加载资源。您可以手动执行此操作,但是从ionic-angular@3.2.0开始,我们提供了一个快速功能,可以自动处理此问题。
window.Ionic.WebView.convertFileSrc()
https://blog.ionicframework.com/wkwebview-for-all-a-new-webview-for-ionic/
我自己偶然发现了这个:)
答案 2 :(得分:0)
对于 Cordova iOS 6+ 只需要安装以下插件。
cordova plugin add https://github.com/AraHovakimyan/cordova-plugin-wkwebviewxhrfix
此插件不依赖任何其他附加插件,也不需要附加权限。