无法提交://请求,只有http://支持跨源请求

时间:2017-09-18 19:38:11

标签: ios cordova ionic-framework cors phonegap

我使用Ionic html元素开发了一个Phonegap应用程序。 Android应用程序一切正常,但在iOS中它会抛出错误:“无法访问跨源请求。”

Console errors

虽然我在config.xml中添加了一个标签,即allow-navigation,我在其中提供了我的api url。但它仍然会出现同样的错误。

尝试使用“”,“http:// / *”,但仍无效。

3 个答案:

答案 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

此插件不依赖任何其他附加插件,也不需要附加权限。