我正在使用angular-cli,从localhost:4200运行项目,并尝试从myurl:8080获取服务器请求。这不起作用的原因,尝试了所有的选择,但没有任何帮助。Angular-CLI代理到后端仍然不工作
这里是我的proxy.config.json文件:
{
"/myservice/*": {
"target": "http://myurl:8080",
"secure": false,
"changeOrigin": true,
"logLevel": "debug",
"pathRewrite": {"^/myservice" : ""}
}
}
简单http.get:
private Url = 'http://myurl:8080/myservice/list/getlist';
headers = new Headers({ 'Access-Control-Allow-Origin': '*' });
options = new RequestOptions({ headers: this.headers, withCredentials: true});
getList(): Observable<any> {
return this.http.get(this.Url, this.options)
.map(this.extractData)
.catch(this.handleError);
}
的浏览器的结果是:
403(Forbi dden)。对预检请求的响应未通过访问 控制检查: 请求的资源上没有“访问控制允许来源”标头。原因'http://localhost:4200'因此是 不允许访问。该响应具有HTTP状态码403.
如果我只是冲浪到http://myurl:8080/myservice/list/getlist我会得到JSON结果。有没有人让它工作?
后npm start
@角/ CLI正在写
Proxy created: /myservice -> http://myurl:8080
[HPM] Proy rewrite rule create "^/myservice" ~"
[HPM] Subscribed to http-proxy events: ['error', 'close']
是正常吗?
您好,我有同样的问题,但你的方法是行不通的。也许你有什么想法? https://stackoverflow.com/questions/44872498/configure-angular-cli-proxy-for-custom-headers-in-request-to-backend 谢谢 – JDev