使用this.Ctx.Output.Header解决跨域问题

就是想那种可以在配置文件中间设置不用在每个函数都写一遍,或者封成一个函数在每个函数调用一遍《有了解的吗??求指导,谢谢!!!!!!!!!!!

已邀请:

astaxie - 创造、获取、分享、传播和应用Go

赞同来自: Xargin philc 小张的烦恼 go、go、go goldpasser

https://godoc.org/github.com/astaxie/beego/plugins/cors

func main() {
    // CORS for https://foo.* origins, allowing:
    // - PUT and PATCH methods
    // - Origin header
    // - Credentials share
    beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
        AllowOrigins:     []string{"https://*.foo.com"},
        AllowMethods:     []string{"PUT", "PATCH"},
        AllowHeaders:     []string{"Origin"},
        ExposeHeaders:    []string{"Content-Length"},
        AllowCredentials: true,
    }))
    beego.Run()
}

yubc2006

赞同来自:

定一个一个基础controller type BaseController struct { beego.Controller }

func (c BaseController)Prepare() { c.Ctx.Output.Header("Access-Control-Allow-Origin", "") } 子controller继承基础BaseController type UsersController struct { BaseController }

小张的烦恼 - 慎独

赞同来自:

我也是用的这个方法,但是貌似在每个具体函数前面都需要再次调用一遍

小张的烦恼 - 慎独

赞同来自:

谢谢

要回复问题请先登录注册