Revel SetCookie(cookie) 的问题

func (c App) Index() revel.Result { 
    cookie := &http.Cookie{Name: "Username", Value: "Tom", HttpOnly: true}

    c.SetCookie(cookie)

    v, _ := c.Request.Cookie("Username")

    return c.Render(v)

}

<div class="container">
  <div class="row">
    <h1>It works!</h1>
    <p>  {{.v}}  </p>
  </div>
</div>

问题: 程序运行后不能立即得到 Username=Tom ,需要刷新才能得到;如果更改程序中 Cookie Username 的值,运行后也不能显示更新后的值,仍然显示Username=Tom ,需要再刷新才能得到新值

共 1 个回复


goophy

因为 v, _ := c.Request.Cookie(“Username”), Request 还是当前的Request,c.SetCookies在response后才生效。
用session比较方便吧

# 0