Web API 核心 2.0 cors 问题(标头存在)不允许访问

问题描述 投票:0回答:1

我正在尝试从 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();
        }
angular post cors http-headers asp.net-core-2.0
1个回答
0
投票

在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();
        }
© www.soinside.com 2019 - 2024. All rights reserved.