解决Angular应用程序向ASP .Net API发送POST请求时出现CORS问题的方法如下:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowAllOrigins",
builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
//其他配置代码...
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseCors("AllowAllOrigins");
//其他配置代码...
}
[EnableCors("AllowAllOrigins")]
public class YourController : ControllerBase
{
//其他代码...
}
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
@Injectable()
export class YourService {
constructor(private http: HttpClient) {}
postData(data: any) {
const headers = new HttpHeaders({
'Content-Type': 'application/json'
});
return this.http.post('http://your-api-url', data, { headers });
}
}
请注意,这些解决方法仅适用于开发环境。在生产环境中,应该根据需要进行更严格的CORS配置。