如何解决IONIC 4 CORS的问题

CORS = Cross origin resource sharing 是跨域分享共享

当我们deploy Ionic 到 Android 或 IOS 是不会有CORS的问题. 但是如果在 development mode 使用 ionic serve 访问远端的API就会遇到下面的问题

XMLHttpRequest cannot load http://api.ionic.com/endpoint.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost:8100' is therefore not allowed access.

通常如果你有权限更改远端Server的话, 可以设定接受任何来源的请求, 但是当你使用第三方的API,就要另寻他法.
这里我提供的方法是更改IONIC端的设定.

首先在IONIC的Root 资料夹建立proxy.conf.json. 里面的内容:

{    "/endpoint": {       "target": "http://api.ionic.com",       "changeOrigin": true,       "secure": false,       "logLevel": "debug"     }}

接着在http request 使用相对应的 path

 return this.http.get("/endpoint");

最后使用 ionic serve -- --proxy-config proxy.conf.json 开启本地的伺服器.
以下连结提供更详细的Angular代理配置
https://juejin.im/post/5d36fe605188255b5620a648


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章