这几天在做ionic3项目,发现运行ios时http请求失败(我用的是angular的http,而不是文档的http插件),而android版就没有问题,能正常请求数据,然后将错误打印出来,发现返回 response with status: 0 for url: null
开始试了几种方法都还是这个错误,后来在官方文档中找到了解决方法,有兴趣的可以看看这个链接https://ionicframework.com/docs/wkwebview/
出现这个问题的原因是ionic默认使用的是WK WebView,这样性能更加好,但是其中有什么我不知道的原因使得项目中如果使用WK WebView ios端http请求就错误(哪位如果知道这个原理的还请评论转告我一下,谢谢),返回上面那个错误。而解决方法有2中:
1.将WK WebView降级为UI WebView,具体操作是在ionic项目的config.xml文件中
<preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" />
2.将cordova-plugin-ionic-webview这个插件从ionic项目中移除,
npm命令为ionic
cordova plugin remove cordova cordova-plugin-ionic-webview --save