gin 跨域訪問(vue)

gin跨域訪問

前端請求

創(chuàng)建中間件

corsMiddleware.go

package middlewares

import (
    "fmt"
    "github.com/gin-gonic/gin"
    "net/http"
)

func Cors() gin.HandlerFunc {
    return func(c *gin.Context) {
        method := c.Request.Method
        origin := c.Request.Header.Get("Origin")
        if origin != ""{
            c.Header("Access-Control-Allow-Origin", origin)
          //主要設(shè)置Access-Control-Allow-Origin
            c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE")
            c.Header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization")
            c.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Cache-Control, Content-Language, Content-Type")
            c.Header("Access-Control-Allow-Credentials", "false")
            c.Set("content-type", "application/json")
        }
        if method == "OPTIONS"{
            c.AbortWithStatus(http.StatusNoContent)
        }
        c.Next()
    }
}

使用中間件

package router

import (
    "github.com/gin-gonic/gin"
    "goproejct/controllers"
    "goproejct/middlewares"http://引入中間件goproject是項目名 根據(jù)自己情況
)

func InitRouter() {
    router := gin.Default()
    router.Use(middlewares.Cors())//使用中間件
    v1 := router.Group("v1")
    {
        v1.POST("/login", controllers.Login)
        v1.POST("/regist", controllers.Regist)
    }
    router.Run(":8000")
}

前端請求


請求成功

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容