代码之家  ›  专栏  ›  技术社区  ›  Fabricio Rodriguez

使用ASP时出现CORS错误。来自IONIC(Angular)应用程序的NET Core 1.1 Web API

  •  1
  • Fabricio Rodriguez  · 技术社区  · 7 年前

    无法加载XMLHttpRequest http://inspections.propworx.co.za/api/inspections http://192.168.1.100:8100 因此不允许访问。

    我的Web API Startup.cs中有以下内容:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddCors(options =>
        {
            options.AddPolicy("SiteCorsPolicy",
            builder => builder.AllowAnyOrigin()
            .AllowAnyMethod()
            .AllowAnyHeader()
            .AllowCredentials());
        });
        ...
    }
    

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        app.UseCors("SiteCorsPolicy");
        ...
    }
    

    在这两种情况下,它们都在服务之前。AddMvc()和应用程序。分别使用MVC。但它仍然不起作用。我尝试添加

    services.Configure<MvcOptions>(options =>
    {
        options.Filters.Add(new CorsAuthorizationFilterFactory("SiteCorsPolicy"));
    });
    

    我尝试添加:

    [EnableCors("SiteCorsPolicy")]
    

    到我的控制器的顶部,但也没有帮助。

    这是可行的,我不知道我能做什么,但现在不行了:/有什么想法吗?谢谢

    2 回复  |  直到 7 年前
        1
  •  1
  •   Fabricio Rodriguez    7 年前

    问题是没有网络。配置文件…ASP。Net Core似乎没有为Web API生成一个,但这是CORS所需要的。。。

        2
  •  0
  •   Rajeev Ranjan    7 年前

    几天前我遇到了一个类似的问题,下面是我如何解决它的。从angular调用web API时,请确保添加以下标题。

    let headers = new Headers({'Content-Type': 'application/json'});
    headers.append('Access-Control-Allow-Origin', '*');
    headers.append('Accept', 'application/json');