vue3和beego跨域请求配置方式
更新时间:2025年01月13日 10:08:39 作者:qq_33805862
文章介绍了如何在Vue3和Beego中配置跨域请求,在Beego的router.go文件的init函数中添加option函数来回应预检请求,以支持跨域请求,这是个人经验分享,希望能帮助到大家
vue3和beego跨域请求配置
在router.go的init 函数内添加
如下内容:
func init() { //跨域设置 var FilterGateWay = func(ctx *context.Context) { ctx.ResponseWriter.Header().Set("Access-Control-Allow-Origin", "*") //允许访问源 ctx.ResponseWriter.Header().Set("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS") //允许post访问 ctx.ResponseWriter.Header().Set("Access-Control-Allow-Headers", "Access-Control-Allow-Origin,ContentType,Authorization,accept,accept-encoding, authorization, content-type") //header的类型 ctx.ResponseWriter.Header().Set("Access-Control-Max-Age", "1728000") ctx.ResponseWriter.Header().Set("Access-Control-Allow-Credentials", "true") } beego.InsertFilter("*", beego.BeforeRouter, FilterGateWay) //路由设置 ns := beego.NewNamespace("/v1", // NBSP用于跨域请求 beego.NSRouter("*", &controllers.BaseController{}, "OPTIONS:Options")) beego.AddNamespace(ns) //======================= 下面再写自己的代码 ======================= beego.Router("/", &controllers.MainController{}) // ..... }
定义option函数回应预检请求(controller中)
// @Title test // @Description 预检 // @Success 200 {string} "hello world" // @router / [options] func (c *BaseController) Options() { c.Data["json"] = map[string]interface{}{"status": 200, "message": "ok", "moreinfo": ""} c.ServeJSON() } //=============== 下面再写自己的代码 ======================= // .....
跨域请求是会先发送一个option请求,该请求如果收到响应(响应内容随便),客户端则才会继续发送请求
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
关于element-ui日期时间选择器选不中12小时以后的时间详解
在之前做个一个组件页面中,引用了element-ui组件的日期选择器,遇到的一个小问题,下面这篇文章主要给大家介绍了关于element-ui日期时间选择器选不中12小时以后时间的相关资料,需要的朋友可以参考下2022-08-08vue+webpack dev本地调试全局样式引用失效的解决方案
今天小编就为大家分享一篇vue+webpack dev本地调试全局样式引用失效的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-11-11
最新评论