sessionStorage用什么方法储存token
时间: 2024-03-16 08:37:02 浏览: 138
sessionStorage 用 setItem 方法储存 token,语法为:window.sessionStorage.setItem('token', token)。其中,'token' 是键名,token 是键值。在拦截器中,可以通过 window.sessionStorage.getItem('token') 获取保存在 sessionStorage 中的 token 值,并将其添加到请求头中进行验证。
相关问题
if (window.localStorage.getItem("Token") != null && window.localStorage.getItem("Token") != 'null') { if (window.sessionStorage.getItem("token") == null || window.sessionStorage.getItem("token") == 'null') { window.sessionStorage.setItem("token", window.localStorage.getItem("Token")); window.sessionStorage.setItem("role", window.localStorage.getItem("role")); window.sessionStorage.setItem("accountTableName", window.localStorage.getItem("sessionTable")); window.sessionStorage.setItem("username", window.localStorage.getItem("adminName")); } }
这段代码主要是用于判断用户是否已经登录,如果用户已经登录且在本地存储中存在 Token,则将 Token、角色、账号表名和用户名等信息存储到 session 中。其中:
- `window.localStorage.getItem("Token")` 表示获取本地存储中的 Token 值;
- `window.sessionStorage.getItem("token")` 表示获取 session 中的 Token 值;
- `window.sessionStorage.setItem("token", window.localStorage.getItem("Token"))` 表示将本地存储中的 Token 值存储到 session 中;
- `window.sessionStorage.setItem("role", window.localStorage.getItem("role"))` 表示将本地存储中的角色信息存储到 session 中;
- `window.sessionStorage.setItem("accountTableName", window.localStorage.getItem("sessionTable"))` 表示将本地存储中的账号表名存储到 session 中;
- `window.sessionStorage.setItem("username", window.localStorage.getItem("adminName"))` 表示将本地存储中的用户名存储到 session 中。
通过将用户信息存储到 session 中,可以方便地在后续的操作中获取用户的身份信息,从而进行相应的权限控制。
console.log('sessionStorage===',sessionStorage.getItem('token'))是空的怎么解决
如果 `sessionStorage.getItem('token')` 返回空,可能有以下几种原因:
1. 在使用 `sessionStorage.setItem('token', value)` 方法设置 `token` 值时出错,导致存储失败。你可以通过 `console.log('sessionStorage===', sessionStorage)` 查看 sessionStorage 中是否存在 `token` 键,以及它的值是否正确。
2. `token` 值已经过期或者被删除了。`sessionStorage` 中存储的数据只在当前会话有效,如果用户关闭了浏览器或者打开了一个新的标签页,那么 `sessionStorage` 中存储的数据就会被清空。
3. `sessionStorage` 功能被禁用了。一些浏览器可能会禁用 `sessionStorage` 功能,你可以尝试在浏览器控制台中输入 `sessionStorage.setItem('test', 'test')` 看看是否会报错。
如果以上方法都无法解决问题,你可以考虑使用其他的存储方式,比如 `localStorage` 或者 `cookie`。
阅读全文