JavaScript无需后台数据传输获取当前登录帐号和ID的方法

2025-01-09 16:35:49   小编

在前端开发中,有时我们需要在不依赖后台数据传输的情况下获取当前登录帐号和ID ,JavaScript为我们提供了一些可行的方法。

一种常见的方式是利用浏览器的本地存储(Local Storage)或会话存储(Session Storage)。当用户登录成功时,后台通常会返回包含帐号和ID等信息的数据,此时我们可以在前端将这些关键信息存储到本地存储或会话存储中。例如:

// 假设登录成功后返回的数据对象
const loginData = {
    account: "user123",
    id: 12345
};
// 存储到本地存储
localStorage.setItem('loginInfo', JSON.stringify(loginData));
// 或者存储到会话存储
sessionStorage.setItem('loginInfo', JSON.stringify(loginData));

之后在需要获取当前登录帐号和ID的地方,我们就可以从存储中读取数据:

// 从本地存储读取
const storedInfo = localStorage.getItem('loginInfo');
if (storedInfo) {
    const { account, id } = JSON.parse(storedInfo);
    console.log(`当前登录帐号:${account},ID:${id}`);
}
// 从会话存储读取类似

这种方法的优点是简单直接,而且数据在页面刷新时也能保留(本地存储除非手动清除),但安全性相对较低,因为存储的数据可以在浏览器开发者工具中轻易查看和修改。

另一种方法是使用Cookie。登录成功后设置包含帐号和ID信息的Cookie :

document.cookie = `loginAccount=user123; path=/`;
document.cookie = `loginId=12345; path=/`;

获取时:

function getCookie(name) {
    const value = `; ${document.cookie}`;
    const parts = value.split(`; ${name}=`);
    if (parts.length === 2) return parts.pop().split(';').shift();
}
const account = getCookie('loginAccount');
const id = getCookie('loginId');
console.log(`当前登录帐号:${account},ID:${id}`);

Cookie的优势在于它会在每次HTTP请求中被发送到服务器,方便服务器端验证,但同样存在一定安全风险,且存储容量有限。

通过合理运用本地存储、会话存储以及Cookie ,我们能够在JavaScript中无需后台数据传输获取当前登录帐号和ID ,满足前端部分功能的需求,同时也要注意数据的安全性和合理使用。

TAGS: JavaScript获取帐号 无需后台数据传输 当前登录帐号 获取ID

欢迎使用万千站长工具!

Welcome to www.zzTool.com