golang gin框架开发api解决跨域和预检的问题

文章讲述了在使用uniapp进行网络请求时遇到跨域问题,特别提到需要设置`Access-Control-Allow-Origin`和`Access-Control-Allow-Methods`头以通过预检请求,并允许特定的请求头。提供了解决完整跨域问题的代码示例。
摘要由CSDN通过智能技术生成

使用uniapp发送请求时发现跨域问题,在加了两条常用的跨域Header后使用ajax测试通过,但是uniapp依旧不行。需要加上后面两条才能正常通过预检请求。

第一个问题:Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

// 发送预检请求没有获取到正确的http状态
c.Status(http.StatusOK)

第二个问题:Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response.

// 允许请求标头字段授权。
c.Header("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization")

完整解决跨域代码

c.Header("Access-Control-Allow-Origin", "*")
c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE")
// 有预检需要加上这两条
c.Header("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization")
c.Status(http.StatusOK)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值