沒有太多的上下文,因為它確實是一種應(yīng)該起作用的情況,但事實并非如此。我正在使用馬提尼框架。在一個處理程序中,我正在使用這個:session.Set("deployed", "true")r.Redirect("/myOtherURL", http.StatusSeeOther)其中 'session' 是傳遞給處理程序的 session.Session 對象。在加載 myOtherURL 的處理程序中,我使用 session.Get 但沒有返回任何內(nèi)容。我打印了所有會話內(nèi)容,但不存在“已部署”。什么可能導(dǎo)致這個問題?我可能會錯過什么?如果可以的話,我會提供更多的背景信息,但這真的很簡單。
1 回答

ibeautiful
TA貢獻(xiàn)1993條經(jīng)驗 獲得超6個贊
只是為了在未來擴(kuò)展我的評論/幫助他人:
當(dāng)您在沒有明確
Path
值的情況下設(shè)置 cookie 時,cookie 將采用當(dāng)前路徑。Cookie 僅針對該路徑和以下路徑發(fā)送 - 不在上方 - 例如
/modules
當(dāng)您第一次通過隱式設(shè)置它時設(shè)置的Cookiesession.Set(val, key)
發(fā)送Cookie是為了
/modules
,/modules/all
并且/modules/detail/12
Cookie不是為了
/about
或/
這可以通過顯式設(shè)置路徑來解決:
var store = sessions.NewCookieStore([]byte("secret123"))
func main() {
store.Options.Path = "/"
...
}
請注意,您可能不想為所有路由發(fā)送 cookie(這是/可以做的) - 所以使用判斷。
- 1 回答
- 0 關(guān)注
- 166 瀏覽
添加回答
舉報
0/150
提交
取消