通过jquery.cookie.js实现记住用户名、密码登录功能

定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术;

下载与引入:jquery.cookie.js基于jquery;先引入jquery,再引入:jquery.cookie.js;

下载:

<script type="text/javascript" src="https://www.jb51.net/js/jquery.min.js"></script> <script type="text/javascript" src="https://www.jb51.net/js/jquery.cookie.js"></script>

1.添加一个"会话cookie"

$.cookie('the_cookie', 'the_value');

这里没有指明 cookie有效时间,所创建的cookie有效期默认到用户关闭浏览器为止,所以被称为 “会话cookie(session cookie)”。

2.创建一个cookie并设置有效时间为 7天

$.cookie('the_cookie', 'the_value', { expires: 7 });

这里指明了cookie有效时间,所创建的cookie被称为“持久 cookie (persistent cookie)”。注意单位是:天;

3.创建一个cookie并设置 cookie的有效路径

$.cookie('the_cookie', 'the_value', { expires: 7, path: 'https://www.jb51.net/' });

在默认情况下,只有设置 cookie的网页才能读取该 cookie。如果想让一个页面读取另一个页面设置的cookie,必须设置cookie的路径。cookie的路径用于设置能够读取 cookie的顶级目录。将这个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突)。

4.读取cookie

$.cookie('the_cookie');

5.删除cookie

.cookie('the_cookie', null); //通过传递null作为cookie的值即可

6.可选参数

$.cookie('the_cookie','the_value',{ expires:7, path:'https://www.jb51.net/', domain:'jquery.com', secure:true }) 

expires:(Number|Date)有效期;设置一个整数时,单位是天;也可以设置一个日期对象作为Cookie的过期日期;
path:(String)创建该Cookie的页面路径;
domain:(String)创建该Cookie的页面域名;
secure:(Booblean)如果设为true,那么此Cookie的传输会要求一个安全协议,例如:HTTPS;

代码示例:

<!doctype html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="https://www.jb51.net/jquery-1.8.3.min.js"></script> <script src="https://www.jb51.net/jquery.cookie.js"></script> <script src="https://www.jb51.net/jquery.base64.js"></script> <script language="javascript" type="text/javascript"> function setCookie(){ //设置cookie var loginCode = $("#login_code").val(); //获取用户名信息 var pwd = $("#login_password").val(); //获取登陆密码信息 var checked = $("[name='checkbox']:checked");//获取“是否记住密码”复选框 if(checked){ //判断是否选中了“记住密码”复选框 $.cookie("login_code",loginCode);//调用jquery.cookie.js中的方法设置cookie中的用户名 $.cookie("pwd",$.base64.encode(pwd));//调用jquery.cookie.js中的方法设置cookie中的登陆密码,并使用base64(jquery.base64.js)进行加密 }else{ $.cookie("pwd", null); } } function getCookie(){ //获取cookie var loginCode = $.cookie("login_code"); //获取cookie中的用户名 var pwd = $.cookie("pwd"); //获取cookie中的登陆密码 if(pwd){//密码存在的话把“记住用户名和密码”复选框勾选住 $("[name='checkbox']").attr("checked","true"); } if(loginCode){//用户名存在的话把用户名填充到用户名文本框 $("#login_code").val(loginCode); } if(pwd){//密码存在的话把密码填充到密码文本框 $("#login_password").val($.base64.decode(pwd)); } } function login(){ var userName = $('#login_code').value; if(userName == ''){ alert("请输入用户名。"); return; } var userPass = $('#login_password').value; if(userPass == ''){ alert("请输入密码。"); return; } //判断是否选中复选框,如果选中,添加cookie if($("[name='checkbox']").attr("checked","true")){ //添加cookie setCookie(); alert("记住密码登录。"); window.location = "http://www.baidu.com"; }else{ alert("不记密码登录。"); window.location = "http://www.baidu.com"; } } </script> </head> <body> <center> <table cellpadding="0" cellspacing="0"> <tr> <td colspan="2">欢迎登录</td> </tr> <tr> <td> <label>用户名:</label> </td> <td> <input type="text" /> </td> </tr> <tr> <td> <label>密 码:</label> </td> <td> <input type="password" /> </td> </tr> <tr> <td colspan="2"> <span>是否记住密码</span> <input type="checkbox" /> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="登 录"/> </td> </tr> </table> </center> </body> </html>

总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/01a00d756c22e66c7233c170510374d7.html