JavaScript中设置cookie的值
Posted 火之非常高兴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript中设置cookie的值相关的知识,希望对你有一定的参考价值。
cookie 与 session 是网页开发中常用的信息存储方式。Cookie是在客户端开辟的一块可存储用户信息的地方;Session是在服务器内存中开辟的一块存储用户信息的地方.javascript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的,而cookie是运行在客户端的,所以可以用JS来设置cookie。
在ITOO项目中,系统需要页面之间的传值,现在假设页面A,和页面B,页面B需要页面A的一个参数,才可以进行后面的操作,那么我们就需要将页面A参数值保存到cookie中,页面B通过Js获取参数值,进行后续操作。
js写入Cookie代码:
<span style="font-size:18px;">//两个参数,一个是cookie的名子,一个是值 function SetCookie(name, value) { //定义一天 var days = 1; var exp = new Date(); //定义的失效时间, exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000); //写入Cookie ,toGMTstring将时间转换成字符串。 document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString; }</span>
//escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。字符值大于 255 的以 %uxxxx 格式存储
js读取Cookie代码
<span style="font-size:18px;">//读取cookies function getCookie(name) { //匹配字段 var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); if(arr=document.cookie.match(reg)) return (arr[2]); else return null; }</span>
//一组cookie值是 name=value,name前面可能是开头(^)也可能是空格( ),匹配开头或者空格就是 "(^| )"
然后匹配name所以是 "(^| )"+name,然后匹配等号所以是 "(^| )"+name+"= ,
然后匹配value,value本身通过分号结尾的,所以这里表示不是分号的一个字符串,正则为 [^;]*,到这里就是
"(^| )"+name+"=([^;]*),最后value的结尾是一个分号或者字符串结束,那么是 (;|$)
至此,整个匹配cookie的正则完成了,就是 "(^| )"+name+"=([^;]*)(;|$)"
我们除了在Js中写入cookie中之外,还可以在Contraller中将值写入Cookie中。
写入Cookie方法是:
- <span style="font-size:18px;"> //将试卷和课程ID存入cookie中
- HttpCookie cookie = new HttpCookie("PaperID");
- cookie.Values.Add("PaperId", ExamPaperId.ToString());
- cookie.Values.Add("ConsorID", ExamPaper.CourseId);
- //添加到浏览器中
- Response.AppendCookie(cookie);</span>
读取Cookie方法是:
- <span style="font-size:18px;">HttpCookie newCookie = Request.Cookies["PaperID"];
- //定义变量用于接收试卷ID
- string strPaperId="";
- if (newCookie != null)
- {
- strPaperId = newCookie.Values["PaperId"];
- }</span>
以上是关于JavaScript中设置cookie的值的主要内容,如果未能解决你的问题,请参考以下文章
在PHP和JavaScript中设置Cookie会话存储(SessionStorage)和本地存储(LocalStorage)
如何使用javascript在文本区域中设置输入类型文本中的值? [复制]