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方法是:

  1. <span style="font-size:18px;"> //将试卷和课程ID存入cookie中
  2. HttpCookie cookie = new HttpCookie("PaperID");
  3. cookie.Values.Add("PaperId", ExamPaperId.ToString());
  4. cookie.Values.Add("ConsorID", ExamPaper.CourseId);
  5. //添加到浏览器中
  6. Response.AppendCookie(cookie);</span>

读取Cookie方法是:

  1. <span style="font-size:18px;">HttpCookie newCookie = Request.Cookies["PaperID"];
  2. //定义变量用于接收试卷ID
  3. string strPaperId="";
  4. if (newCookie != null)
  5. {
  6. strPaperId = newCookie.Values["PaperId"];
  7. }</span>

JavaScript中设置cookie的值的更多相关文章

  1. Javascript中关于cookie的那些事儿

    Javascript-cookie 什么是cookie? 指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密).简单点来说就是:浏览器缓存. cookie由什 ...

  2. JavaScript中的cookie

    cookie本身没什么可介绍的,但是cookie在JavaScript中,有很多需要注意的 首先,cookie在JavaScript中,是window.document对象的一个属性,所以访问cook ...

  3. JavaScript中的Cookie 和 Json的使用

    JavaScript中的Cookie 和 Json的使用 JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.采用的是完全独立于编程语言的文本格式来存 ...

  4. javascript 中设置window.location.href跳转无效问题解决办法

    javascript 中设置window.location.href跳转无效问题解决办法 问题情况 JS中设置window.location.href跳转无效 原因是 a标签的href跳转会执行在wi ...

  5. JavaScript中对象转换为原始值的规则

    JavaScript中对象转换为原始值遵循哪些原则? P52 对象到布尔值对象到布尔值的转换非常简单:所有的对象(包括数字和函数)都转换为true.对于包装对象亦是如此:new Boolean(fal ...

  6. javascript中的cookie,以及事件解析

    Cookie: 它的意思是在本地的客户端的磁盘上以很小的文件形式保存数据,Cookie的处理原则上需要在服务器环境下运行,目前Chrome不可以在客户端操作Cookie,其他浏览器均可以,   Coo ...

  7. JavaScript中document.cookie

    “某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称为 Cookie.”—— MSIE 帮助.一般来说,Cookies 是 CGI 或类似,比 HTML 高级的文件.程序等创建 ...

  8. 浅谈JavaScript中的cookie

    什么是cookie?简单来说,cookie就是网站服务器存放在我们计算机上的一小段(一般大小不超过4KB)用来识别和记录用户的个人信息的文本.HTTP协议是一种没有“状态”的传输协议,也就是说,服务器 ...

  9. 1、JavaScript中的Cookie 用于存储 web 页面的用户信息。

    总结:每个浏览器都有一定数量限制的cookie.每个浏览器中,每一个cookie都有一个path路径,指向请求访问的网页. -------------------------------------- ...

随机推荐

  1. Mysql的空值与NULL的区别

    Mysql数据库是一个基于结构化数据的开源数据库.SQL语句是MySQL数据库中核心语言.不过在MySQL数据库中执行SQL语句,需要小心两个陷阱. 陷阱一:空值不一定为空 空值是一个比较特殊的字段. ...

  2. ELK日志分析系统-Logstack

    ELK日志分析系统 作者:Danbo 2016-*-* 本文是学习笔记,参考ELK Stack中文指南,链接:https://www.gitbook.com/book/chenryn/kibana-g ...

  3. ios中文模糊搜索兼容问题

    $(function(){ var cpLock = true; $("input[name='name']").off().on({ compositionstart: func ...

  4. Spark Structured Streaming框架(2)之数据输入源详解

    Spark Structured Streaming目前的2.1.0版本只支持输入源:File.kafka和socket. 1. Socket Socket方式是最简单的数据输入源,如Quick ex ...

  5. spring装配机制

    spring容器创建bean并通过DI(依赖注入)来协调他们之间的关系,他有三种装配机制: 1. 在XML中显式配置 2. 在Java文件中显式配置 3. 隐式的bean发现机制(组件扫描)和自动装配 ...

  6. 《python基础教程(第二版)》学习笔记 基础部分(第1章)

    <python基础教程(第二版)>学习笔记 基础部分(第1章)python常用的IDE:Windows: IDLE(gui), Eclipse+PyDev; Python(command ...

  7. HDU 5869 Different GCD Subarray Query(2016大连网络赛 B 树状数组+技巧)

    还是想不到,真的觉得难,思路太巧妙 题意:给你一串数和一些区间,对于每个区间求出区间内每段连续值的不同gcd个数(该区间任一点可做起点,此点及之后的点都可做终点) 首先我们可以知道每次添加一个值时gc ...

  8. R语言矩阵运算

    R语言矩阵运算 主要包括以下内容:创建矩阵向量:矩阵加减,乘积:矩阵的逆:行列式的值:特征值与特征向量:QR分解:奇异值分解:广义逆:backsolve与fowardsolve函数:取矩阵的上下三角元 ...

  9. EAV模型

    了解EAV设计基本原理的最好方法就是理解行建模(row modelling,其中EAV是广义形式). 以一超市数据库为例,必须管理数以千计的产品和品牌,其中许多产品存在期很短暂.那么,显而易见,产品名 ...

  10. C++(十)— 字符串进行插入、替换、查找、删除操作、substr

     1.C++中对字符串进行插入.替换.删除操作 #include<iostream> #include<algorithm> #include<stdio.h> # ...