Cookie由后端管理。
問題:第一次set cookie可以生效,第二次覆蓋或者清除cookie卻不生效。查看瀏覽器的cookie信息,仍然是第一次的值。
cookie := http.Cookie{
? ? ? ? ? ? ? ? Name:? ? name,
? ? ? ? ? ? ? ? Value:? ? value,
? ? ? ? ? ? ? ? HttpOnly: true,
? ? ? ? ? ? ? ? Secure:? false,
? ? ? ? ? ? ? ? Path:? ? "/",
? ? ? ? }
? ? ? ? http.SetCookie(resp, &cookie)
原因:在第二次設(shè)置cookie,即清除cookie時,沒有設(shè)置Path
cookie := http.Cookie{
? ? ? ? ? ? ? ? Name:? name,
? ? ? ? ? ? ? ? MaxAge: -1,
? ? ? ? ? ? ? ? Expires: time.Unix(1, 0),
? ? ? ? }
? ? ? ? http.SetCookie(resp, &cookie)
解決方案:
在清除Cookie時,添加Path,并且與第一次設(shè)置時的Path值一致。