使用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
}

小张的烦恼 - it男

赞同来自:

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

小张的烦恼 - it男

赞同来自:

谢谢

要回复问题请先登录注册