【发布时间】:2017-07-17 01:11:25
【问题描述】:
我正在使用 angular-cli,从 localhost:4200 运行项目并尝试从 myurl:8080 获取服务器请求。由于某种原因这不起作用,已尝试所有选项但没有任何帮助。
这是我的 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(禁止)。对预检请求的响应未通过访问 控制检查:不存在“Access-Control-Allow-Origin”标头 请求的资源。因此,原点 'http://localhost:4200' 是 不允许访问。响应的 HTTP 状态代码为 403。
如果我只是浏览http://myurl:8080/myservice/list/getlist,我会得到 JSON 结果。有没有人让它工作?
npm start @Angular/cli 写完之后
Proxy created: /myservice -> http://myurl:8080
[HPM] Proy rewrite rule create "^/myservice" ~"
[HPM] Subscribed to http-proxy events: ['error', 'close']
这正常吗?
【问题讨论】:
标签: angular angular-cli