在Angular/.NET Core WebAPI应用中解决CORS问题,可以按照以下步骤进行操作:
Install-Package Microsoft.AspNetCore.Cors
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder => builder.WithOrigins("http://localhost:4200") // 允许的源
.AllowAnyHeader()
.AllowAnyMethod());
});
// ...
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
app.UseCors("AllowSpecificOrigin");
// ...
}
Content-Type
和Authorization
:import { HttpClient, HttpHeaders } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class YourService {
private httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + yourAccessToken
})
};
constructor(private http: HttpClient) { }
// ...
public getData(): Observable {
return this.http.get(yourApiUrl, this.httpOptions);
}
// ...
}
请注意,在上述示例中,我们假设Angular应用运行在http://localhost:4200
上,你需要根据你的实际情况调整CORS配置中的源和请求头。