我在登录页面上放了window.sessionStorage,想取出存在里面的username,nickname,mail,role在个人中心使用,请问应该怎么取出使用呢?
我的登录代码如下:
handleSubmit:function (){
this.$refs.userLoginFormRef.validate(async valid => {
if(!valid) return;
const{data: res} = await this.$http.post("login",this.userLoginForm);
if ( res.flag == "ok"){
Cookies.set('username',this.userLoginForm.username)
window.sessionStorage.setItem("user",res.user);//存储user对象
this.$message.success("登陆成功~");
this.$router.push({path:"/Home"});
}else {
this.$message.error("登录失败~");
}
})
}
个人中心表格代码如下:
class="right" style="float:right;width:640px;">
table :data="tableInfo" border height="140">
table-column prop="username" label="用户账号"> table-column>
table-column prop="nickname" label="用户昵称"> table-column>
table-column prop="email" label="用户邮箱"> table-column>
table-column prop="roles" label="用户角色" width="150"> table-column>
table>
window.sessionStorage.getItem("user");这样获取,如果你存储的user是js对象的话需要先转为json字符串存储
// 假设 res.user 为以下对象
const user = {
name: "John",
age: 30,
email: "john@example.com"
};
// 将 user 对象存储到浏览器会话存储中
window.sessionStorage.setItem("user", JSON.stringify(user));
// 获取名为 user 的对象
const storedUser = window.sessionStorage.getItem("user");
if (storedUser) {
const user = JSON.parse(storedUser);
console.log(user);
}
window.sessionStorage.getItem("user"); 打印一下 。 你存的时候 转换json字符串再存,取 需要 转换 为json
以上说的获取方式是对的,如果你存储的是对象的话,需要将其序列化成字符串再进行存储,然后在读取时再反序列化回来
你可以使用window.sessionStorage.getItem(key)
方法从sessionStorage中获取对应的值,其中key
是存储时设置的键名。针对你的需求,可以通过以下代码取出对应的值:
var username = window.sessionStorage.getItem("username");
var nickname = window.sessionStorage.getItem("nickname");
var mail = window.sessionStorage.getItem("mail");
var role = window.sessionStorage.getItem("role");
然后你就可以在个人中心使用这些变量了。需要注意的是,以上代码只是获取了sessionStorage中存储的字符串值,如果需要使用数值类型,需要进行类型转换。
1、生命周期为关闭浏览器窗口
2、在同一个窗口(页面)下数据可以共享
3、以键值对的形式存储使用
<body>
<input type="text">
<button>存储数据</button>
<button>获取数据</button>
<button>删除数据</button>
<button>清空数据</button>
<script>
var input = document.querySelector('input');
var btn = document.querySelectorAll('button');
// 存储
btn[0].onclick = function () {
var text = input.value;
// 存储数据 key , value
sessionStorage.setItem('text', text);
}
// 获取
btn[1].onclick = function () {
// 获取数据 key
console.log(sessionStorage.getItem('text'));
}
// 删除
btn[2].onclick = function () {
// 删除数据 key
sessionStorage.removeItem('text');
}
// 清空
btn[3].onclick = function () {
// 清空所有数据
sessionStorage.clear();
}
</script>
</body>