Angular2 WebApi - 飞行前呼叫控制器,PUTfails

时间:2016-12-19 20:57:14

标签: angular cors

.netCore上的Angular和Webapi新手。我有一个奇怪的场景,或者我不太了解预检/ CORS。看来我的PUT预检调用我的控制器方法并执行它。我在controller put方法中设置了一个断点并检查.net选项卡。仅显示飞行前。但看看响应,它返回204无内容。

查看firebug中的.net选项卡,PUT因CORS而失败,并以angular2中的错误处理程序结束。验证结果,webapi PUT方法正确地保存了所有内容。

我想我需要抓住飞行前选项请求并发送200响应。但不确定如何在.netCORE中。我对发生的事情和原因感到困惑。任何建议将不胜感激。

在startup.cs`

中启用了Cors
public void ConfigureServices(IServiceCollection services)
    {
        var corsBuilder = new CorsPolicyBuilder();
        corsBuilder.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin().AllowCredentials();
        services.AddCors(options =>
        {
            options.AddPolicy("AllowAll", corsBuilder.Build());
        });
        // Add framework services.
        services.AddMvc();

        -
        -

}

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

       app.UseMvc();

       -
       -
   }

Request and Response headers

1 个答案:

答案 0 :(得分:0)

我的行动结果出现了问题。

返回Ok();是我应该回来的。

我正在返回一个CreatedAtRoute,不知道为什么在网络标签中显示为Cors错误