从客户端启用角度 5 的 Access-Control-Allow-Origin [重复]
Posted
技术标签:
【中文标题】从客户端启用角度 5 的 Access-Control-Allow-Origin [重复]【英文标题】:Enable Access-Control-Allow-Origin in angular 5 from Client side [duplicate] 【发布时间】:2018-08-15 22:12:36 【问题描述】:我正在使用 httpClient 角度包来获取请求。我正在使用https://api.independentreserve.com/Public/GetValidPrimaryCurrencyCodes url 来获取数据。它在控制台中给出 CORS 错误。
我无权访问服务器端代码,但我仍然想在角度服务中启用 CORS。这是我的服务功能
myfunction()
let head = new HttpHeaders();
head.append('Access-Control-Allow-Headers', 'Content-Type');
head.append('Access-Control-Allow-Methods', 'GET');
head.append('Access-Control-Allow-Origin', '*');
return this.http.get("https://api.independentreserve.com/Public/GetValidPrimaryCurrencyCodes", headers: head).toPromise();
我用chrome cors extension 试过了,效果很好。但我希望通过角度代码启用它。
我也尝试过使用代理,关注tutorial。但是它仍然无法正常工作。这是我在 proxy.conf.json 文件中的对象。
"/api":
"target": "https://www.independentreserve.com/Public/GetValidPrimaryCurrencyCodes",
"secure": false
,
"changeOrigin": true
并在 package.json 文件中添加 "start": "ng serve --proxy-config proxy.conf.json"。它也不是这样工作的。
任何机构可以给我一些解决方案吗?
【问题讨论】:
【参考方案1】:您不能在客户端设置响应标头,只有服务器可以这样做。 IE。如果您无法更改服务器端,则唯一的选择是添加您控制的代理服务器。
【讨论】:
我已经尝试过使用代理,如前所述。方法对吗? 这不是代理服务器,你只是告诉 Angular 交换它发出的所有 http 请求的 baseurl。 类似github.com/nodejitsu/node-http-proxy以上是关于从客户端启用角度 5 的 Access-Control-Allow-Origin [重复]的主要内容,如果未能解决你的问题,请参考以下文章