I also have the same issue.
When you remove the cordova-plugin-ionic-webview plugin the issue disappears.
But this is not a good solution since WKWebView (cordova-plugin-ionic-webview) should be preferred over the old UIWebView.
Normally the issue should only appear when used with “ionic serve”, “ionic lab” or “ionic cordova run -c”.
In your and my case the issue appears also when its run on the device without any server involved.
To configure the server to respond with the correct Access-Control-Allow-Origin is not a good solution since one can not access every server.
This works only for servers which can be configured.
I don’t understand why the proxy solution isn’t working either.
I would like to use the WKWebView (cordova-plugin-ionic-webview) but I don’t see a workaround for this issue.
To reiterate what @Sujan12 said, configuring the server to provide the Access-Control-Allow-Origin header is the best solution. CORS is a feature of browsers that blocks making a request to a different domain, i.e. if you are making a request from x.com to y.com it will be blocked unless y.com explicitly allows that by supplying the Access-Control-Allow-Origin header.
If you have control of the server you can add the appropriate header, if you don’t have control of the server and they don’t allow cross-origin access then it might not be the best idea use it.
Nonetheless, you can work around CORS without downgrading to UIWebView (which doesn’t enforce CORS) by using the native HTTP plugin to make your request.
CORS is a browser concept, by using the native HTTP plugin you are proxying your request through native code (i.e. the request is not made by the browser) so CORS doesn’t apply. Again, I don’t think this is the best solution but it does circumvent CORS.