golang martini session.Set 不设置任何值

没有太多的上下文,因为它确实是一种应该起作用的情况,但事实并非如此。


我正在使用马提尼框架。在一个处理程序中,我正在使用这个:


session.Set("deployed", "true")

r.Redirect("/myOtherURL", http.StatusSeeOther)

其中 'session' 是传递给处理程序的 session.Session 对象。在加载 myOtherURL 的处理程序中,我使用 session.Get 但没有返回任何内容。我打印了所有会话内容,但不存在“已部署”。


什么可能导致这个问题?我可能会错过什么?如果可以的话,我会提供更多的背景信息,但这真的很简单。


芜湖不芜
浏览 141回答 1
1回答

ibeautiful

只是为了在未来扩展我的评论/帮助他人:当您在没有明确Path值的情况下设置 cookie 时,cookie 将采用当前路径。Cookie 仅针对该路径和以下路径发送 - 不在上方 - 例如/modules当您第一次通过隐式设置它时设置的Cookiesession.Set(val, key)发送Cookie是为了/modules,/modules/all并且/modules/detail/12Cookie不是为了/about或/这可以通过显式设置路径来解决:var store = sessions.NewCookieStore([]byte("secret123"))func main() {    store.Options.Path = "/"    ...}请注意,您可能不想为所有路由发送 cookie(这是/可以做的) - 所以使用判断。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go