一种解决方法是在ASP.NET Core应用程序中添加一个CORS策略,允许自定义头变量。以下是一个示例代码:
在Startup.cs文件的ConfigureServices方法中,添加以下代码:
services.AddCors(options => { options.AddDefaultPolicy( builder => { builder.WithOrigins("http://localhost:4200") //允许的来源 .AllowAnyHeader() //允许所有的头部变量 .AllowAnyMethod(); }); });
在Configure方法中,添加以下代码:
app.UseCors();
另一个解决方法是在Angular中设置withCredentials标志来传递cookie。以下是一个示例代码:
在Angular的HTTP请求中,添加withCredentials标志:
const headers = new HttpHeaders().set('Authorization', 'Bearer ' + token); const options = { headers, withCredentials: true }; return this.http.get(url, options);
这将确保Angular发送cookie和自定义头变量,以便ASP.NET Core应用程序可以接受它们。
希望这些解决方法能够帮助您解决ASP.NET Core不接受来自Angular的自定义头变量的问题。