Bootstrap

解决Vue和Beego项目中,Vue请求无法发送cookie,后端无法获取cookie的问题,和解决Vue的axios设置withCredentials之后跨域问题

问题一、Vue请求无法发送cookie,后端无法获取cookie的问题;

1、今天在实现 Vue + Beego 项目的登录功能时,出现 Vue 发送请求之后,Beego 居然无法获取 cookie 的问题,上代码:

- 前端 api.js 文件添加 withCredentials 设置:

import axios from 'axios'

axios.defaults.withCredentials = true

- 后端 app.conf 文件设置启用 session 和 cookie

sessionon = true

sesionname="pm_manager"

sessiongcmaxlifetime="3600"

sessioncookielifetime="3600"

SessionAutoSetCookie = true

copyrequestbody = true

- 后端 controller 中直接读取 cookie

func (c *LoginController) LoginFunction() {

    // 1、直接输出 cookie 的值 ,第一次请求时,cookie 是为空的

    fmt.Println(" cookie = ", c.Ctx.GetCookie("uname"))

    c.Ctx.SetCookie("uname", "Cookiezhangsan", time.Second*3600)

 

;