js设置cookie的简单方法

张映 发表于 2010-08-19

分类目录: nodejs/vue/js/jquery

标签:, ,

一,js设置cookie的用处

php可以设置cookie的,用js来设置cookie有什么好处呢?在前端进行操作时,有的时候要传很多参数,这个时候,我们可以把这些参数拼接到url后面进行传值,那边在接收参数,不过这样挺麻烦的,如果把这些数据放到cookie里面,就开发者的开发效率来说,我想会高一些,以淘宝为例,他有一级分类,二级分类,三级,四级,我们找商品的时候,可能会牵扯到很多条件,如果把这些条件都放到cookie里面,我感觉就方便多了,不知道淘宝是不是这样的。淘宝的url是加了密的,并且好长,有可能是根在url的后面。费话不多说看一个小例子。

二,js实例

  1. //取得cookie  
  2. function getCookie(name) {  
  3.  var nameEQ = name + "=";  
  4.  var ca = document.cookie.split(';');    //把cookie分割成组  
  5.  for(var i=0;i < ca.length;i++) {  
  6.  var c = ca[i];                      //取得字符串  
  7.  while (c.charAt(0)==' ') {          //判断一下字符串有没有前导空格  
  8.  c = c.substring(1,c.length);      //有的话,从第二位开始取  
  9.  }  
  10.  if (c.indexOf(nameEQ) == 0) {       //如果含有我们要的name  
  11.  return unescape(c.substring(nameEQ.length,c.length));    //解码并截取我们要值  
  12.  }  
  13.  }  
  14.  return false;  
  15. }  
  16.   
  17. //清除cookie  
  18. function clearCookie(name) {  
  19.  setCookie(name, "", -1);  
  20. }  
  21.   
  22. //设置cookie  
  23. function setCookie(name, value, seconds) {  
  24.  seconds = seconds || 0;   //seconds有值就直接赋值,没有为0,这个根php不一样。  
  25.  var expires = "";  
  26.  if (seconds != 0 ) {      //设置cookie生存时间  
  27.  var date = new Date();  
  28.  date.setTime(date.getTime()+(seconds*1000));  
  29.  expires = "; expires="+date.toGMTString();  
  30.  }  
  31.  document.cookie = name+"="+escape(value)+expires+"; path=/";   //转码并赋值  
  32. }  

调用一下上面方法:

  1. setCookie("test","tank",1800);         //设置cookie的值,生存时间半个小时  
  2. alert(getCookie('test'));                     //取得cookie的值,显示tank  
  3. clearCookie("test");                           //删除cookie的值  
  4. alert(getCookie('test'));                     //test对应的cookie值为空,显示为false.就是getCookie最后返的false值。  


转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/jsjquery/981.html

2 条评论

  1. 如何多个参数给cookie 留言

    如何多个参数给cookie,你这个只是一个单个的

  2. 张映 留言

    多个的话,你可以传数组进去,循环一下就行。或者,这个方法多调用几次。