javaScript,怎么读写Cookie?
发布网友
发布时间:2022-05-03 01:37
我来回答
共2个回答
懂视网
时间:2022-04-20 14:25
这篇文章主要介绍了javascript 中Cookie读、写与删除操作的相关资料,需要的朋友可以参考下
javascript 中Cookie读、写与删除操作
前言:
在这个前端横行的时候,页面之间的交互需要数据的传递,有的数据通过url传参的形式可以很好地解决,但是对于部分需要改变的参数,你如说从页面A到页面B选择数据,然后从页面B将数据再传到页面A(典型的栗子就是收货地址的选择),针对这一块我是通过存储cookie来解决的。
对于cookie的操作我给出了一些简单的封装,当然也借鉴了前辈们经验,自己糅合了一下,对于cookie的操作,无非是读写和删除,我们首先来看一下写的操作,有写才有读,进而进行删除等操作。
我们有了写的操作了,那么我们再来看看对于读的操作。
接下就是对cookie的删除操作了,其实这个操作很简单,就是将cookie设置过期,cookie就自动失效了
热心网友
时间:2022-04-20 11:33
以下来自:http://hi.baidu.com/noirwinter/blog/item/920f52af3d4201fafbed503f.html
本节,我在JS的基础上,再次介绍COOKIE操作,无非是为了让大家明白COOKIE的多样使用,同时也再一次认识COOKIE,并深入理解它。
1、设置COOKIE数据:
最基本的COOKIE只包括COOKIE名和它的值,语法如下
document.cookie="Cookie_name=Cookie_value"
警告 不要在cookie名或值中使用如分号(;)、逗号(,)或者空格等特殊字符。
但是,假设我们需要保存的名或值有这些符号,怎么办呢?最简单的办法就是使用escape(string)方法,这个方法是用一个字符串参数,把其中的非字母或数字字符转换为等价的数值(16进制),然后在前面加上百分号。
如:document.cookie="book_name="+escape("Special Edition Using JavaScript")
结果为:Special%20Edition%20Using%20JavaScrpit
2、获取COOKIE值:
获取cookie的值要稍微麻烦一点,首先要把cookie属性保存到一个变量:cookie_string=document.cookie 从而得到一个形如 cookie_name=cookie_value 的字符串。然后取等号的索引位置,再使用String对象的substring()方法抽取值,如果值使用了escape()方法编码,还要用 unescape() 进行解码。cookie_string=unescape(document.cookie)
(注:大哥大姐,看文章时别忘记关注我哟,嘿嘿)
3、处理多个COOKIE:
定义多个COOKIE documet.cookie="name1=value1; name2=value2" 每个cookie之间用分号和一个空格分开
处理用 split() 方法,如: var cookie_array = document.cookie.split(";")
即 cookie_arrar[0]和[1]各为上面的COOKIE字符串。
4、终止日期:
var days=30;
var expire_date=new Date();
var ms_from_now=days*24*60*60*1000;
expire_date.setTime(expire_date.getTime()+ms_from_now);
var expire_string=expire_date.toGMTString();//转为GMT格式的String
document.cookie="count_cookie=visit_number; expires="+expire_string;
5、其他参数:
document.cookie="name=value; path=cookie_dir";//指定访问的目录,所有页面访问,则把path设为根目录(/)。
参数domain用于指定站点上可以访问cookie的主机名,如果没有指定,则默认为站点所在的WEB服务器的主机名。如果服务器只有一个主机名,则不需要考虑这个参数。如:domain=.domain.com
secure, 这是一个boolean值。如果为真,则该cookie只发往使用HTTPS(安全)协议连接的浏览器;如果为假(或忽略)则发给所有的浏览器,即使使用了不安全的HTTP协议。如:document.cookie="name1=value1; true"。
另见:http://www.ninedns.com/Javascript/20074221808036007.html