我正在尝试从 Angular http://localhost:4200 到 webApi core 2.0 执行发布请求,我在控制台中得到了这个
无法加载 _http://localhost:62066/api/values:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“http://localhost:4200”。
我尝试像这样添加cors,但我得到同样的错误;正确的做法是什么?
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors(builder => builder.WithOrigins("http://localhost:4200"));
app.UseCors(builder=> builder.WithHeaders("http://localhost:4200"));
app.UseMvc();
}
在startup.cs中 在所有内容上添加带有allowany的新cors,因为仅允许标头请求时仍然不起作用
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options => options.AddPolicy("AllowAll", builder =>
{
builder.AllowAnyOrigin();
builder.AllowAnyHeader();
builder.AllowAnyMethod();
builder.AllowCredentials();
}));
services.AddMvc();
}
并在这里使用它
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors("AllowAll"); //<===
app.UseMvc();
}