【问题标题】:CORS error when consuming ASP.NET Core 1.1 Web API from IONIC (Angular) app从 IONIC (Angular) 应用程序使用 ASP.NET Core 1.1 Web API 时出现 CORS 错误
【发布时间】:2018-01-01 15:09:59
【问题描述】:

我创建了一个由 Angular2 (IONIC) 应用程序使用的 ASP.NET Core 1.1 Web API。在项目开始时,我们遇到了 CORS 错误,在对 Web API 进行一些修改后,我们能够解决。今天早上,我用过去一周所做的一些更改更新了我们的实时 Web API,由于某种原因,我们再次收到 CORS 错误(当 Angular 应用程序使用实时 Web API 时——它在我们连接到Web API 从 LAN 上的另一台 PC 在我的本地主机上运行)。错误是:

XMLHttpRequest 无法加载 http://inspections.propworx.co.za/api/inspections。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问 Origin '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");
    ...
}

在这两种情况下,它们分别位于 services.AddMvc() 和 app.UseMvc 之前。但它仍然不起作用。我已经尝试添加

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

在 ConfigureServices 中,就在 services.AddCors 之后,无济于事。 我已经尝试添加:

[EnableCors("SiteCorsPolicy")]

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

这行得通,我不知道我能做什么,但现在不行了:/ 有什么想法吗?谢谢...

【问题讨论】:

  • 您好 user1900799,我有一个问题想知道在创建使用 WebApi 服务的 ionic 应用程序时,我应该将 Ionic 项目与 Web Api 项目放在同一个文件夹中,还是两个项目分开? ?

标签: cors asp.net-core-mvc asp.net-core-webapi asp.net-core-1.1


【解决方案1】:

几天前我遇到了类似的问题,这是我解决的方法。从 Angular 调用 Web API 时,请确保添加以下标题。

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

【讨论】:

  • 感谢拉吉夫的回复。我要求前端开发人员添加这两个标题。不幸的是,我们仍然遇到同样的错误:(
【解决方案2】:

问题是没有 Web.config 文件... ASP.Net Core 似乎没有为 Web API 生成一个,但这是 CORS 所需要的...

【讨论】:

    猜你喜欢
    • 2021-12-20
    • 1970-01-01
    • 2017-06-03
    • 2020-09-07
    • 2019-11-09
    • 2018-02-21
    • 2017-06-10
    • 1970-01-01
    • 2017-11-22
    相关资源
    最近更新 更多