.NET Core Web API上为CORS启用OPTIONS标头

本文介绍了如何在.NET Core Web API中配置CORS以支持跨域访问,特别强调了解决非简单请求时预检OPTIONS请求失败的问题。通过在`Startup.cs`中添加CORS策略和服务,以及创建`OptionsMiddleware`中间件来处理OPTIONS请求,确保API能够正确响应200状态码。
摘要由CSDN通过智能技术生成

在dotnet core web api中支持CORS(跨域访问)

问题描述:

需要提前设置好cors,设置好cors后,get或者post(pain/text)这些简单类型都可以请求。

但是,

需要对服务器进行非简单请求时,比如context-type为json时,第一次会发送option方法探测,第二次才会正式发送post请求,由于webapi未开启option方法,前端会收到204错误(204 No Content),post也就没发出去。

 

解决方法:

通过中间间,对option方法进行启用,并回应200状态码。

 

设置cors,具体做法:

步骤1.在startup.cs 的ConfigureServices方法中加入   

services.AddCors(Options =>
            Options.AddPolicy("543",
            p => p.AllowAnyOrigin())
            );// 代码写在mvc前面

// services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

步骤2.在startup.cs 的C

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值