鍍金池/ 問(wèn)答/HTML/ 每次刷新都退出到登錄頁(yè)面怎么修改?

每次刷新都退出到登錄頁(yè)面怎么修改?

vue的項(xiàng)目,用的nuxt,只在中間件里加了這行代碼,每次刷新都會(huì)退出到登錄頁(yè)面,跟這段代碼有關(guān)系嗎,一般可能是什么問(wèn)題呢?

export default function ({ store, redirect }) {
  if (!store.state.user.token || !sessionStorage.token) {
    return redirect('/users/login');
  }
  return true;
}
回答
編輯回答
毀了心

store刷新不會(huì)存在,sessionStorage.token不是sessionStorage的讀取方式。
另外sessionStorage關(guān)閉tab會(huì)消失,不知道這是不是你的需求(一般都用localStorage)。

2017年6月22日 18:53
編輯回答
毀與悔

sessionStorage.getItem('token')

2017年5月21日 23:02
編輯回答
墨小白

刷新Vue實(shí)例和store就銷毀了,然后再次初始化。store肯定就不會(huì)有用戶的任何信息。要想刷新后仍能保存用戶信息,推薦cookie或者localstorage,一般像這種一段時(shí)間內(nèi)保存用戶的登陸狀態(tài)的都會(huì)用cookie,設(shè)定過(guò)期時(shí)間比較省心,否則用localstorage就需要多存一個(gè)時(shí)間戳字段,每次讀取時(shí)要判斷有無(wú)過(guò)期。

2018年7月31日 15:56
編輯回答
乖乖噠

刷新頁(yè)面,sessionStorage是不會(huì)消失的哦??纯词悄愕倪壿?,會(huì)不會(huì)在刷新的時(shí)候頁(yè)面初始化有清空sessionStorage里面的值的相關(guān)操作

瀏覽器窗口關(guān)閉sessionStorage才會(huì)消失哦

store并不能持久化存儲(chǔ),所以每次刷新的時(shí)候store也會(huì)清空,如果你非要用sessionStorage請(qǐng)查看代碼中是不是有清空sessionStorage的操作,如果不是,建議使用localStorage進(jìn)行持久化存儲(chǔ)。

最后,希望我的回答能幫助到您,如果對(duì)您有用請(qǐng)采納哦。 歡迎關(guān)注我的微信公眾號(hào) 前端指南
2017年9月27日 23:15