sessionstorage和localstorage的区别

现象:


image.png
image.png

第一次是有的,然后重新复制ip发现titlebar没有了

  login({ commit }, userInfo) {
    const { username, password } = userInfo
    return new Promise((resolve, reject) => {
      login({ userName: username.trim(), password: password }).then(response => {
        if (response.data) {
          const { data } = response
          console.log(data)
          commit('SET_TOKEN', data.token)
          // token和权限不能同时获取,否则路由菜单会进入死循环
          // const roles = ['admin']
          // commit('SET_ROLES', roles)
          sessionStorage.setItem('userInfo', JSON.stringify(data.userInfo))
          setToken(data.token)
        }
        resolve(response)
      }).catch(error => {
        reject(error)
      })
    })
  },






image.png

最后发现是session的问题,每个tab都是一个session,所以sessionstorage不共用
解决办法就是改为localstorage


image.png

image.png
  • localStorage的生命周期是永久性的。假若使用localStorage存储数据,即使关闭浏览器,也不会让数据消失,除非主动的去删除数据,使用的方法如上所示。localStorage有length属性,可以查看其有多少条记录的数据。
  • sessionStorage 的生命周期是在浏览器关闭前。也就是说,在整个浏览器未关闭前,其数据一直都是存在的。sessionStorage也有length属性,其基本的判断和使用方法和localStorage的使用是一致的
  • cookie是tab共享的,但是关闭浏览器cookie也会清除掉

你可能感兴趣的:(sessionstorage和localstorage的区别)