0
点赞
收藏
分享

微信扫一扫

.net core api 配置跨域几种常见样板代码No Access-Control-Allow-Origin header is present on the requested resou...


as been blocked by CORS policy: No Access-Control-Allow-Origin header is present on the requested resource. .net core api




.net core api 配置跨域几种常见样板代码No Access-Control-Allow-Origin header is present on the requested resou..._跨域请求


image.png


在写低代码实现前端调用core api接口时出现了跨域问题,发现问题出在后端接口,或者说是被访问的接口,
在前端添加​​​<meta http-equiv="Access-Control-Allow-Origin" content="*" />​​是没效果的,因为问题是访问此页面出现错误,问题就从此页面此接口解决问题,上面的报错地址是core api写的,因此从它入手解决问题。


builder.Services.AddCors(c =>
{
//允许任意跨域请求
c.AddDefaultPolicy(policy =>
{
policy
.SetIsOriginAllowed((host) => true)
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials();
});
});

var app = builder.Build();
app.UseCors();


如果忘记写​​UseCores()​​是无法生效的。

第二种方法,是增加了key.


builder.Services.AddCors(c =>
{
//允许任意跨域请求
c.AddPolicy("any",policy =>
{
policy
.SetIsOriginAllowed((host) => true)
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials();
});

app.UseCors("any");


最后一种也ok


app.UseCors(options => options
.AllowAnyHeader() // 确保策略允许任何标头
.AllowAnyMethod() // 确保策略允许任何方法
.SetIsOriginAllowed(o => true) // 设置指定的isOriginAllowed为基础策略
.AllowCredentials());

举报

相关推荐

“Access-Control-Allow-Origin“跨域问题

0 条评论