js保存,获取,删除cookie的操作
【转】来自:http://blog.csdn.net/itmyhome1990/article/details/7363816
JSP表单页面
- <form action="login" method="post">
- 用户名:<input type="text" name="username" id="username" /><br>
- 密码:<input type="password" name="password" /><br />
- <input type="checkbox" id="remember" checked="checked">
- 记住用户名<input type="submit" value="登录" id="sub" />
- </form>
JS操作cookie
- <script type="text/javascript">
- $(document).ready(function() {
- var name = getCookie("username");
- //$("#username")[0].value=name;
- $("#username").val(name);
- /*
- * 当点击登录按钮时 判断是否勾选记住用户名
- * 如果勾选 则将用户名保存在Cookie中 否则删除
- */
- $("#sub").click(function() {
- if ($("#remember").attr("checked") == true) {
- //获得用户名
- var username = $("#username").val();
- //设置cookie
- setCookie("username", username);
- } else {
- //删除cookie
- delCookie("username")
- }
- })
- function setCookie(name, value) {
- var Days = 60; //cookie 将被保存两个月
- var exp = new Date(); //获得当前时间
- exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); //换成毫秒
- document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
- }
- function getCookie(name) {
- //取出cookie
- var strCookie = document.cookie;
- //cookie的保存格式是 分号加空格 "; "
- var arrCookie = strCookie.split("; ");
- for ( var i = 0; i < arrCookie.length; i++) {
- var arr = arrCookie[i].split("=");
- if (arr[0] == "username") {
- return arr[1];
- }
- }
- return "";
- }
- function delCookie(name) {
- var exp = new Date(); //当前时间
- exp.setTime(exp.getTime() - 1); //删除cookie 只需将cookie设置为过去的时间
- var cval = getCookie(name);
- if (cval != null)
- document.cookie = name + "=" + cval + ";expires="+ exp.toGMTString();
- }
- })
- </script>
cookie简单介绍
cookie是浏览器提供的一种机制,它将document对象的cookie属性提供给javascript。可以由javascript对起进行控制
而并不是javascript本身的性质。cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次
访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。
cookie机制将信息存储于用户硬盘,因此可以作为全局变量,这是它最大的一个优点。它可以用于以下几种场合。
(1) 保存用户登录状态
(2) 跟踪用户行为
(3) 定制页面
(4) 创建购物车
设置cookie
每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie
document.cookie="username=zhangsan";
如果要一次存储多个名/值对,可以使用分号加空格(; )隔开,例如:
document.cookie="username=zhangsan; password=123";
在cookie 的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。在cookie的名中做到这点很容易,但要保存的值是不确定的。如何来存储这些值呢?方 法是用escape()函数进行编码,它能将一些特殊符号使用十六进制表示,例如空格将会编码为“20%”,从而可以存储于cookie值中,而且使用此 种方案还可以避免中文乱码的出现。
给cookie设置终止日期
到现在为止,所以的cookie都是单会话cookie,即浏览器关闭后这些cookie将会丢失。
在实际开发中,cookie常常需要长期保持,例如保存用户登录的状态,可以用下面的选项来实现:
document.cookie="username=zhangsan; expiress=GMT_String";
其中GMT_String是以GMT格式表示的时间字符串,这条语句就是将username这个cookie设置为GMT_String
表示的过期时间,超过这个时间,cookie将消失,不可访问
js保存,获取,删除cookie的操作的更多相关文章
- js 判断js函数、变量是否存在 JS保存和删除cookie操作,判断cookie是否存在的方法
//是否存在指定函数 function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == " ...
- js 第四章 cookie的操作
js 第四章 cookie的操作 一.学习要点 掌握cookie的简单应用 二. js 第四章 cookie的操作 了解cookie 什么是cookie? cookie 是存储于访问者的计算机中的变量 ...
- JS读取写入删除COOKIE的各种操作
1. .NET后置代码中获取 Response.Redirect("http://www.baidu.com?id=" +Request.Cookies["size&qu ...
- js添加、删除Cookie
//cookie function addCookie(objName, objValue, objHours) { //添加cookie var str = objName + "=&qu ...
- 如何设置,获取,删除cookie?
cookie : 存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来像访问者电脑上存储数据 1.不同的浏览器存放的cookie位置不一样,也是不能通用的 2.cookie的存储 ...
- Js添加、读取、删除cookie,判断cookie是否有效,指定domain域下主路径path下设置cookie,设置expires过期时间
有时我们需要用cookie保存用户名,记录登录状态,如何正确判断该机用户cookie是否存在呢?不能简单使用a!=”这样的写法. 正确方法是:判断是否存在名为username3的cookie,使用do ...
- Jquery对Cookie的操作
第一步:先引用jQuery的插件jquery-1.9.1.min.js 第二步:引用jquery.cookie.js插件 下对cookie的操作: $.cookie("cookieName& ...
- js封装Cookie操作 js 获取cookie js 设置cookie js 删除cookie
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code var CookieUtil = { // 设置cookie set : functi ...
- js/java 获取、添加、修改、删除cookie(最全)
一.cookie介绍 1.cookie的本来面目 HTTP协议本身是无状态的.什么是无状态呢,即服务器无法判断用户身份.Cookie实际上是一小段的文本信息(key-value格式).客户端向服务 ...
随机推荐
- oracle 中decode函数用法
学习记录: 含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 ...
- 模块math和cmath
python使用特殊命令import导入模块,再以module.function的方式使用模块 python标准库提供了一个专门用于处理复数的模块cmath,math处理数据 模块math常用的函数有 ...
- SprinMVC中文件上传只在内存保留一份拷贝
背景:web项目里经常有上传文件的模块,某些特殊场景下,上传文件的人不希望在服务器留存一份原始文件,这个时候就需要把文件放到内存里了. 笔者调试了一下springmvc里面的CommonsMultip ...
- Jmeter常用脚本开发之JDBC请求
简单说明:JDBC请求就是使用Jmeter连接数据库,执行sql语句,并返回对应的响应结果 步骤: 1.引入使用的数据库的驱动jar包,使用不同的数据库,我们需要引入不同的jar包.本文使用的MySQ ...
- 使用DirectX作渲染过程
1. 首先知道渲染代码放置位置.渲染代码放在WinMain消息循环中 while(msg.message!=WM_QUIT) { if(PeekMessage(****) { TranslateMes ...
- c#按照回车换行符分割字符串
string str="aaa\r\nbbscccjdddseee"; string[] sArray=str.Split(new char[2] {'\r','\n'}); 和用 ...
- c# 关于字典dictionary 按时间排序
上文中说到sortedlist 排序是键排序,不符合项目要求问题,接着使用字典dictionary 对value 为时间按照升序排序,问题解决.中间涉及到linq的使用.还有其他的写法,但发现下边的写 ...
- 优化myeclipse启动速度以及解决内存不足问题
解决myeclipse内存不足问题: 使用 MyEclipse 开发项目后,随着项目文件的增多,以及运行时间的增加,实际上 MyEclipse 所消耗的内存是会一直增大的,有的时候会出现 MyEcli ...
- How to program BMW KOMBI and NBTwith ENET E sys cable ICOM A2
This is how to set up Router or DHCP server for BMW KOMBI and NBT programming with Enet e sys cable ...
- UOJ 67 新年的毒瘤 - Tarjan
Description 给出一个无向图, 要求找出某个点$u$, 去掉$u$和$u$所连的边, 所剩下的节点构成一棵树. Solution 首先, 割点肯定是不可能满足条件的, 因为去掉割点后会构成若 ...