我有一个角14应用程序,我刚刚开始,它将使用授权头调用一个webapi (c#)在一个不同的领域,所以CORS击中我。我不明白的是,如何让它接受授权头,并使所有的东西仍然命中CORS。
我的测试服务很简单:
export class AppComponent {
title = 'ngtest';
centers: any;
constructor(private service: CentersService) {}
ngOnInit() {
this.service.getCenters().subscribe((data) => {
this.centers = data;
});
}
}我正在使用HttpInterceptor:
拦截(请求: HttpRequest,下一步: HttpHandler):可观测{
var authRequest = request.clone({
headers: request.headers.set(
'Authorization', 'Bearer <CutForBrevity>'
),
});
return next.handle(authRequest);}
下面是控制台中的内容:
[Log] Angular is running in development mode. Call enableProdMode() to enable production mode. (vendor.js, line 41609)
[Info] [webpack-dev-server] Live Reloading enabled. (polyfills.js, line 1919)
[Error] Preflight response is not successful. Status code: 404
[Error] XMLHttpRequest cannot load https://..../centers due to access control checks.
[Error] Failed to load resource: Preflight response is not successful. Status code: 404 (centers, line 0)
[Error] ERROR – HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: "Unknown Error", …}
HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: "Unknown Error", url: "https://..../centers", ok: false, …}HttpErrorResponse问题是,如果我使用角,我甚至不会攻击后端服务器。IIS日志中没有任何内容。但是,我还有一个简单的C#网络应用程序,它可以使用相同的浏览器,但使用不同的技术。这告诉我,服务器端的CORS处理似乎运行良好。(我知道在哪里评估CORS,并返回适当的步骤,等等)。
我肯定这是很简单的事情,我只是不知道现在是什么。
谢谢你的指导,尼克
发布于 2022-09-13 21:36:19
角度部分似乎都是正确的。我对后端API (C#)做了几次更改,并设法使它正常工作。
https://stackoverflow.com/questions/73707279
复制相似问题