beego跨域问题
主要代码:
import( "github.com/astaxie/beego/plugins/cors")
func main() {
//InsertFilter是提供一个过滤函数
beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
//允许访问所有源
AllowAllOrigins: true,
//可选参数"GET", "POST", "PUT", "DELETE", "OPTIONS" (*为所有)
//其中Options跨域复杂请求预检
AllowMethods: []string{"*"},
//指的是允许的Header的种类
AllowHeaders: []string{"*"},
//公开的HTTP标头列表
ExposeHeaders: []string{"Content-Length"},
//如果设置,则允许共享身份验证凭据,例如cookie
AllowCredentials: true,
}))
beego.Run()
}
可以以中间件的形式去统一解决,如把跨域方法封装到中间件中,在main.go执行时就加载方法