用的是beego框架
先在一个控制器中写入cookies
go this.Ctx.SetCookie("username", username, maxAge, "/")
页面刷新后,尝试去读cookies
v, err := ctx.Request.Cookie("username")
beego.Trace(err)
beego.Trace(v)
username确保有值,为字母与数字组合,无空格和其他符号
结果err输出为name cookies not present
v为nil
请问是何原因导致的呢
经过耗时1天的排查
知道问题所在了
有两个原因
1、在写入cookies之前不能有其他输出
2、我启用了enablexsrf,但是在表单中没有插入对应的值
我所作的仅仅是SetCookie之前的一句this.Ctx.WriteString("1")调到了最后
以及在表单中插入Xsrf验证(或者把enablexsrf 关掉就可以了)
#1