我有一个似乎无法解决的问题。我想使用以下代码从Angular客户端向服务器发送http params请求,但出现异常
http://localhost:4200”已被CORS政策阻止:对预检请求的响应未通过
我想对此进行澄清,我是否在Angular中进行了任何杂乱操作,或者这是服务器端的问题,我不了解可以有人帮助我
login(username: string, password: string) {
let params = new HttpParams();
params = params.append('email', username);
params = params.append('password', password);
return this.http.post<any>('URL',{params:params})
.pipe(map(user => {
if (user && user.token) {
}
}),
catchError(this.handleError)
);
}
答案 0 :(得分:0)
是的,这是服务器端的问题,而不是客户端的问题。
您需要从服务器端为CORS
启用localhost
才能使用Angular代码中的API。
PS:要快速修复,您可以安装chrome plugin来启用CORS
,但这是不推荐的方法。
答案 1 :(得分:0)
修改服务器以添加标头Access-Control-Allow-Origin: *
,以启用来自任何域的跨域请求。
答案 2 :(得分:0)
在运行应用程序之前先在VSCODE中添加配置(F5)
“ runtimeArgs”:[“ --disable-web-security”]
在launch.json文件中