【问题标题】:Getting CORS error in Angular even though access-control-allow-origin and other headers are set to "*" in server side即使在服务器端将 access-control-allow-origin 和其他标头设置为 \"*\",也会在 Angular 中出现 CORS 错误
【发布时间】:2022-11-04 14:57:51
【问题描述】:

我在应用程序的前端使用 Angular,在后端使用 Dotnet。在后端 api 配置中,我允许任何类型的源、标头和方法,但是在向后端 API 发出 http 请求时,我在浏览器中收到了 CORS 错误。

在前端,我没有代理服务器的配置,它是一个普通的 http 请求,带有 angular 的 httpClient。

在后端代码是这样的:

浏览器中的 CORS 错误:

我的困惑是,即使我在我的 API 中允许任何类型的 http 请求标头、方法、来源,为什么它仍然会在浏览器中导致 CORS 错误。任何解决此问题的方法都会有很大帮助。

【问题讨论】:

    标签: .net angular cors


    【解决方案1】:

    看来你在configureservice方法中设置了,但需要在configure方法中添加。

    我做了什么

    1. 一个项目,我添加了以下行configure method of startup.cs
       app.UseCors(x => x
                      .AllowAnyOrigin()
                      .AllowAnyMethod()
                      .AllowAnyHeader());
      
      1. 在其他项目中,添加了启动的configure和configureservice方法。

      configure method of startup.cs

      app.UseCors("AllowAllOrigins");
      app.UseCors("AllowAllHeaders");
      

      ConfigureService Method

      services.AddCors(options =>
                  {
                      options.AddPolicy("AllowAllOrigins",
                            builder =>
                            {
                                builder.AllowAnyOrigin()
                                       .AllowAnyHeader()
                                       .AllowAnyMethod();
                            });
                  });
      

    【讨论】:

      猜你喜欢
      • 2022-11-27
      • 2017-10-29
      • 2012-08-05
      • 2020-03-06
      • 2019-09-20
      • 1970-01-01
      • 2018-01-13
      • 2018-07-03
      相关资源
      最近更新 更多