码迷,mamicode.com
首页 > Web开发 > 详细

js与cookie的点点滴滴

时间:2015-06-29 17:02:43      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

  在做高校云平台成绩系统的时候,利用js设置cookie,再在后台获取cookie的过程中有一些小小的插曲。

 1.      Cookie的设置

<span style="font-family:Microsoft YaHei;font-size:14px;"><strong>//---------setCookie  ;path=/";加上此句话便可以访问整个目录的了
function setCookie(name, value) {
    //cookie的相关设置以及超时时间的设计
    var days = 0.03;
    var exp = new Date();
    exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);
    document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/";

}
</strong></span>

  此时进行相关的cookie设置,我们知道页面的重定向后Request请求时无法在新的页面中进行获取的,也就是重定向的页面是取不到之前的Request中的数据。但是cookie是可以被共享的。

<span style="font-family:Microsoft YaHei;font-size:14px;"><strong>//为了跳转页面能够拿到当前的值,故而用cookie进行保存
    setCookie("temporaryClassId", temporaryClassId);
    setCookie("teacherId", teacherId);
    setCookie("type", type);
    setCookie("year", year);
</strong></span>

 2.      解析上述的设置中的参数

  当上面的cookie设置完毕之后,发现在后台取的时候发生了乱码

<span style="font-family:Microsoft YaHei;font-size:14px;"><strong>//获取cookie的值
            //根据参数获取班级id
            HttpCookie cookieId = System.Web.HttpContext.Current.Request.Cookies.Get("year");
	    //得到的是乱码
            //string yearId = cookieId.Value;
            //利用cookie进行数据的保存,这样可以便于即使跨不同的方法也是可以得到的,
            //js利用escape对数据进行加密,但是数字是不加密的,对于汉字那么出现的就是乱码,需要解密
            //HttpUtility.UrlDecode就是解密使用的,获取到学年
            string yearId = HttpUtility.UrlDecode(cookieId.Value);</strong></span>

  ?  escape

   js利用escape对数据进行加密,但是数字是不加密的,对于汉字那么出现的就是乱码,需要解密,HttpUtility.UrlDecode就是解密使用的,当然也是可以利用un escape函数实现解密操作的。

  ?  path=/

   在用JS存取Cookie的时候,发现在不同的目录下,调用同一个js方法来存储Cookie,到别的目录取不出或取出的值是不对的,原因可能是存储的路径不对或者是没有指定,导致的结果是在不同的目录进行存储,就会出现不同的结果,为了统一我们可以将路径进行指定,path=/,path就是指定了相应的路径,/就是根目录,也就是这个目录下的所有的页面都是可以取到cookie的值的。

  ?  name和value

   cookie是以键值对的形式进行存储的,设置的时候我们需要设置key同样需要设置value,取值的时候,我们可以根据cookie的name获取到cookie,进而根据其value属性得到其值。

 3.      小结

  学习的时候就会发现,看似很小的东西,其中蕴含的东西是那么的多,所有知识都是宝藏,只要挖掘,潜力无限。



版权声明:本文为博主原创文章,未经博主允许不得转载。

js与cookie的点点滴滴

标签:

原文地址:http://blog.csdn.net/u010955843/article/details/46683359

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!