问题描述
我有一个非常简单的服务器,它以字符串 get 127.0.0.1:8080/hello
响应 hello there
以进行测试。
显然,在没有配置和代理的情况下,请求会收到 CORS 错误并且无法继续。
但是,我无法通过代理解决我的问题,要么是因为我没有正确使用它,要么是因为我发现了一个我找不到的错误。这是 proxy.conf.json :
{
"/hello": {
"target": "http://127.0.0.1:8080","secure": false,"changeOrigin": true
}
}
这是服务指令:"start": "ng serve --proxy-config proxy.conf.json"
我还通过插入阻止编译的错误并使用邮递员测试服务器来绝对确保正确调用该文件。
this.http.get('http://127.0.0.1:8080/hello').subscribe(result => {
console.log(result);
});
注意:我使用的是 Angular 10.1.7 并且 - 如果可能的话 - 我不想更改服务器上的任何内容,因为我将无法始终访问服务器以解决未来问题
解决方法
结果是打字稿代码是问题:
代理是正确的,但根本没有使用,“好”的代码如下:
this.http.get('/hello').subscribe(result => {
console.log(result);
});
通过一次调用整个 url,代理将被忽略,但通过调用 '/hello' 代理可以进行重定向
注意:代理不能在 prod 环境中工作,这必须在 .htaccess 或等效文件上完成。