.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

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());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值