C# 无法从Angular UI发布到ASP.NET WebApi
我试图将Angular应用程序中的对象发布到ASP.NET WebApi,但出现以下错误 加载失败:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“”。响应的HTTP状态代码为404。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源 在.service.ts中,我正在发送一篇带有fetch()的帖子 这是我API中的控制器C# 无法从Angular UI发布到ASP.NET WebApi,c#,asp.net,angular,asp.net-web-api,fetch,C#,Asp.net,Angular,Asp.net Web Api,Fetch,我试图将Angular应用程序中的对象发布到ASP.NET WebApi,但出现以下错误 加载失败:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“”。响应的HTTP状态代码为404。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源 在.service.ts中,我正在发送一篇带有fetch()的帖子 这是我API中的控制器 // POST api/<controller> [HttpPo
// POST api/<controller>
[HttpPost]
[EnableCors(origins: "*", headers: "*", methods: "*")]
public string Post([FromBody]Obj obj)
{ ... }
我想你必须在“AddMvc”/“UseMvc”之前加上“AddCors”或“UseCors”
大概是这样的:
services.AddCors(o => o.AddPolicy("AllowAllOrigins", builder =>
{
builder.AllowAnyMethod()
.AllowAnyHeader()
.AllowAnyOrigin();
}));
services.AddMvc();
或在配置方法中
app.UseCors("AllowAllOrigins");
app.UseMvc();
把这部分换一下
[EnableCors(origins: "*", headers: "*", methods: "*")]
到
并且不要在fetch中设置“访问控制允许来源”
试试这个,告诉我结果
app.UseCors("AllowAllOrigins");
app.UseMvc();
[EnableCors(origins: "*", headers: "*", methods: "*")]
[EnableCors("AllowAllOrigins")]