在Angular 7中使用Http客户端与Asp.Net Core的Cors错误的解决方法如下所示:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowAllOrigins",
builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseCors("AllowAllOrigins");
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseMvc();
}
import { HttpClient, HttpHeaders } from '@angular/common/http';
constructor(private http: HttpClient) { }
//发送GET请求
getSomeData() {
const headers = new HttpHeaders()
.set('Content-Type', 'application/json')
.set('Access-Control-Allow-Origin', '*'); //添加Cors相关的信息
return this.http.get('your-api-url', { headers: headers });
}
请注意,这个例子中的your-api-url
是指向Asp.Net Core API的URL。
这些步骤可以帮助你解决Angular 7的Http客户端与Asp.Net Core的Cors错误。通过在Asp.Net Core中配置Cors,并在Angular 7中添加Cors相关的信息,你可以在两者之间成功进行跨域请求。