通过第三方库(普通js库,Oracle MCS)进行Ajax调用时,
显示了CORS错误。
Origin ionic://localhost is not allowed by Access-Control-Allow-Origin.
XMLHttpRequest cannot load https://x.mobile.ocp.oraclecloud.com/mobile/platform/users/login due to access control checks
据我了解,webview引擎认为我正在浏览本地主机以查找离子页面,
禁止进入其他地方。
这是一个常见问题。
下面是尝试的方法:
<meta http-equiv="Content-Security-Policy" content="default-src *;
style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'
'unsafe-eval'">
<allow-navigation href="https://x.mobile.ocp.oraclecloud.com:443" />
<allow-navigation href="http://localhost:8080" />
解决方法:
1.使用UIWebview
不赞成,因为它已被弃用
2.使用cordova-plugin-advanced-http
不适用于第三方拨打的电话
3.使用ionic.config.json
中的离子本地代理进行重定向
不适用,因为通话是由第三方进行的,因此无法修改通话
示例测试用例:
let xhr = new XMLHttpRequest();
xhr.open("POST", "https://x.mobile.ocp.oraclecloud.com/mobile/platform/users/login");
xhr.send();
希望看到有关使用本机Ajax方法进行Ajax调用的建议。