关于 "JS读取cookies信息(记录用户名)" 的攻略,以下是详细步骤:
1.设置cookie
在用户登陆成功后,我们可以将用户的信息(例如用户名)作为cookie存储到客户端浏览器,下次访问时即可从cookie中读取该信息,自动填充到登录表单。
以下是一个设置cookie的示例代码:
// 设置cookie函数
function setCookie(name, value, expireDays) {
// 设置cookie有效期
var expireDate = new Date();
expireDate.setTime(expireDate.getTime() + (expireDays * 24 * 60 * 60 * 1000));
// 组装cookie字符串
var cookieStr = name + "=" + encodeURI(value) + "; expires=" + expireDate.toUTCString() + "; path=/";
// 设置cookie
document.cookie = cookieStr;
}
// 登陆成功后设置用户名cookie
setCookie("username", "张三", 7);
以上代码使用document.cookie
设置cookie,其中参数name
指cookie的key,value
指该key对应的value,expireDays
指cookie的有效期(单位为天)。
2.读取cookie
用户再次访问网站时,我们可以读取cookie中存储的用户名信息,自动填充到登录表单中。
以下是一个读取cookie的示例代码:
// 读取cookie函数
function getCookie(name) {
var cookieArr = document.cookie.split("; ");
// 遍历cookie数组,查找指定的cookie
for (var i = 0; i < cookieArr.length; i++) {
var cookiePair = cookieArr[i].split("=");
// 存在指定的cookie,返回其value
if (name == cookiePair[0]) {
return decodeURI(cookiePair[1]);
}
}
// 未找到指定的cookie
return null;
}
// 自动填充登录表单
var username = getCookie("username");
if (username) {
document.getElementById("login-name").value = username;
}
以上代码使用 document.cookie
读取cookie,然后遍历该cookie数组,查找与指定key相匹配的cookie,定位到该cookie时返回其value。未找到该cookie时返回null。
3.使用示例
以下是一个简单的登录示例,用户在登录表单中输入用户名、密码,然后提交表单。如果勾选了“记住用户名”选项,则将用户名设置为cookie;如果未勾选该选项,则清空cookie。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>登录示例</title>
</head>
<body>
<form id="login-form" action="your-server-url" method="POST">
<div>
<label for="login-name">用户名:</label>
<input type="text" id="login-name" name="username">
</div>
<div>
<label for="login-password">密码:</label>
<input type="password" id="login-password" name="password">
</div>
<div>
<input type="checkbox" id="remember-name" name="remember-name">
<label for="remember-name">记住用户名</label>
</div>
<div>
<button type="submit">登录</button>
</div>
</form>
<script type="text/javascript">
// 读取之前存储的cookie
var username = getCookie("username");
if (username) {
document.getElementById("login-name").value = username;
document.getElementById("remember-name").checked = true;
}
// 监听登录表单的提交事件
document.getElementById("login-form").addEventListener("submit", function(event) {
// 判断是否勾选了“记住用户名”选项
if (document.getElementById("remember-name").checked) {
// 存储用户名为cookie
setCookie("username", document.getElementById("login-name").value, 7);
} else {
// 清空cookie
setCookie("username", "", -1);
}
});
</script>
</body>
</html>
以上示例代码通过监听表单的提交事件,判断是否勾选了“记住用户名”选项,然后根据勾选状态设置、清空cookie。同时,在页面加载时读取cookie中存储的用户名信息,并自动填充到表单中。
希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS读取cookies信息(记录用户名) - Python技术站