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() } //=============== 下面再寫自己的代碼 ======================= // .....
跨域請求是會先發(fā)送一個option請求,該請求如果收到響應(響應內容隨便),客戶端則才會繼續(xù)發(fā)送請求
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
關于element-ui日期時間選擇器選不中12小時以后的時間詳解
在之前做個一個組件頁面中,引用了element-ui組件的日期選擇器,遇到的一個小問題,下面這篇文章主要給大家介紹了關于element-ui日期時間選擇器選不中12小時以后時間的相關資料,需要的朋友可以參考下2022-08-08vue+webpack dev本地調試全局樣式引用失效的解決方案
今天小編就為大家分享一篇vue+webpack dev本地調試全局樣式引用失效的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11