专栏首页热爱ITGolang的Gin框架解决跨域问题

Golang的Gin框架解决跨域问题

首先创建一个返回gin.HandlerFunc的函数

func cors() gin.HandlerFunc {
    return func(c *gin.Context) {
        method := c.Request.Method

        c.Header("Access-Control-Allow-Origin", "*")
        c.Header("Access-Control-Allow-Headers", "Content-Type,AccessToken,X-CSRF-Token, Authorization, Token")
        c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS")
        c.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type")
        c.Header("Access-Control-Allow-Credentials", "true")
        if method == "OPTIONS" {
            c.AbortWithStatus(http.StatusNoContent)
        }
        c.Next()
    }
}

然后在能拿到*gin.Engine对象的地方调用下面的方法即可

engine.Use(cors())

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • GIN框架解决跨域问题

    当两个域具有相同的协议(如http), 相同的端口(如80),相同的host,那么我们就可以认为它们是相同的域(协议,域名,端口都必须相同)。

    秦穆之
  • Go | Gin 解决跨域问题跨域配置

    CORS 全称 Cross-Origin Resource Sharing,中文翻译为 跨域资源共享。CORS 可以看做web服务器和浏览器之间的协议, web...

    刘銮奕
  • Go | Gin 解决跨域问题跨域配置

    在 Gin 中提供了 middleware (中间件) 来做到在一个请求前后处理响应的逻辑,这里我们使用中间来做到在每次请求是添加上 Access-Contro...

    双鬼带单
  • django_rest 框架解决跨域问题

    解决跨域问题,需要安装一个包 pip install django-cors-headers 这个包是 rest框架特定的 之后在setting里面app...

    一天不写程序难受
  • Golang Gin 实战(一)| 快速安装入门

    Gin 是一个非常优秀的Golang Web Framework,它不光API友好,性能也非常高,并且设计简洁,便于入门。所以它(Gin)非常受欢迎,在Gith...

    飞雪无情
  • Golang 跨域

    跨域指的是浏览器不能执行其他网站或域名下的脚本。之所以形成跨域,是因为浏览器的同源策略造成的,是浏览器对javascript程序做的安全限制,现在所有支持Jav...

    孤烟
  • Golang Module的使用 顶

    注意:go mod 还有一些其他比较有意思的工具,比如可以打印依赖树,比如可以查看哪些模块在哪些包引用了

    BGBiao
  • golang 开源后台管理系统

    go-admin是一个go语言开发的后台管理系统,该系统以角色为基础的权限管理设计(RBAC),完成了系统管理模块功能的开发(其他示例模块后续加上),采用前后端...

    孤烟
  • Golang Gin 实战(九)| JSONP跨域和劫持

    浏览器都遵循同源策略,也就是说位于www.flysnow.org下的网页是无法访问非www.flysnow.org下的数据的,比如我们常见的AJAX跨域问题。

    飞雪无情

扫码关注云+社区

领取腾讯云代金券