.netCore上的Angular和Webapi新手。我有一个奇怪的场景,或者我不太了解预检/ CORS。看来我的PUT预检调用我的控制器方法并执行它。我在controller put方法中设置了一个断点并检查.net选项卡。仅显示飞行前。但看看响应,它返回204无内容。
查看firebug中的.net选项卡,PUT因CORS而失败,并以angular2中的错误处理程序结束。验证结果,webapi PUT方法正确地保存了所有内容。
我想我需要抓住飞行前选项请求并发送200响应。但不确定如何在.netCORE中。我对发生的事情和原因感到困惑。任何建议将不胜感激。
在startup.cs`
中启用了Corspublic 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();
-
-
}
答案 0 :(得分:0)
我的行动结果出现了问题。
返回Ok();是我应该回来的。
我正在返回一个CreatedAtRoute,不知道为什么在网络标签中显示为Cors错误