运用JS设置cookie、读取cookie、删除cookie

转载 2016年08月31日 14:29:10
JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。

而cookie是运行在客户端的,所以可以用JS来设置cookie. 

假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使用JS来引用temp的变量值,对于JS中的全局变量或者静态变量的生命周期是有限的,当发生页面跳转或者页面关闭的时候,这些变量的值会重新载入,即没有达到保存的效果。解决这个问题的最好的方案是采用cookie来保存该变量的值,那么如何来设置和读取cookie呢? 

首先需要稍微了解一下cookie的结构,简单地说:cookie是以键值对的形式保存的,即key=value的格式。各个cookie之间一般是以“;”分隔。 

JS设置cookie:
 
假设在A页面中要保存变量username的值("jack")到cookie中,key值为name,则相应的JS代码为: 

document.cookie="name="+username;  

JS读取cookie:
 
假设cookie中存储的内容为:name=jack;password=123
 
则在B页面中获取变量username的值的JS代码如下:

var username=document.cookie.split(";")[0].split("=")[1];  

//JS操作cookies方法! 

//写cookies 

function setCookie(name,value) 

    var Days = 30; 
    var exp = new Date(); 
    exp.setTime(exp.getTime() + Days*24*60*60*1000); 
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 


//读取cookies 
function getCookie(name) 

    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
 
    if(arr=document.cookie.match(reg))
 
        return unescape(arr[2]); 
    else 
        return null; 


//删除cookies 
function delCookie(name) 

    var exp = new Date(); 
    exp.setTime(exp.getTime() - 1); 
    var cval=getCookie(name); 
    if(cval!=null) 
        document.cookie= name + "="+cval+";expires="+exp.toGMTString(); 

//使用示例 
setCookie("name","hayden"); 
alert(getCookie("name")); 

//如果需要设定自定义过期时间 
//那么把上面的setCookie 函数换成下面两个函数就ok; 


//程序代码 
function setCookie(name,value,time)

    var strsec = getsec(time); 
    var exp = new Date(); 
    exp.setTime(exp.getTime() + strsec*1); 
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 

function getsec(str)

   alert(str); 
   var str1=str.substring(1,str.length)*1; 
   var str2=str.substring(0,1); 
   if (str2=="s")
   { 
        return str1*1000; 
   }
   else if (str2=="h")
   { 
       return str1*60*60*1000; 
   }
   else if (str2=="d")
   { 
       return str1*24*60*60*1000; 
   } 

//这是有设定过期时间的使用示例: 
//s20是代表20秒 
//h是指小时,如12小时则是:h12 
//d是天数,30天则:d30 

setCookie("name","hayden","s20");

JS设置cookie、读取cookie、删除cookie

JS  设置cookie、读取cookie、删除cookie 通常浏览器在第一次页面加载时候会帮我们把网站的图片数据等信息缓存下来。当用户在一段时间内重复登陆该网站的时候可以直接引用缓存的信息加快...
  • qq_35515563
  • qq_35515563
  • 2017年03月02日 14:19
  • 1818

JS之——设置cookie 删除cookie

js设置cookie有很多种方法。 第一种:(这个是w3c官网的代码) //设置cookie function setCookie(cname, cvalue, exdays) { var ...
  • l1028386804
  • l1028386804
  • 2016年06月16日 12:40
  • 28070

JS存储cookie读取cookie删除cookie详细用法

假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使用JS来引用temp的变量值,对于JS中的全局变量或者静态变量...
  • wangzl1163
  • wangzl1163
  • 2016年10月20日 15:42
  • 1876

js与PHP 设置cookie的相互读取

PHP与JavaScript下Cookie的交互使用  列出JS和php交互的方法 在 2012年01月31日 那天写的     已经有 3730 次阅读了 感谢 参考或原文 服务器君一共花...
  • qq1355541448
  • qq1355541448
  • 2014年10月15日 18:32
  • 11964

js 设置cookie和获取cookie

设置cookie function setCookie(c_name, value, expiredays) { var exdate = new Date(); exda...
  • qq_30100043
  • qq_30100043
  • 2016年12月28日 18:19
  • 1281

JS设置cookie、读取cookie、删除cookie

【转自:http://www.jb51.net/article/64330.htm】 JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器...
  • hello_sgw
  • hello_sgw
  • 2017年12月18日 11:11
  • 39

JS设置cookie、读取cookie、删除cookie

运用JS设置cookie、读取cookie、删除cookie JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。 而co...
  • qq_35562664
  • qq_35562664
  • 2017年06月26日 16:20
  • 65

JS设置cookie、读取cookie、删除cookie

Js操作Cookie总结(设置,读取,删除),工作中经常会用到的哦!下面是详细代码,如有错误,请留言指正。 JavaScript是运行在客户端的脚本,因此一般是不能够设置Sessio...
  • smave88
  • smave88
  • 2015年12月29日 11:38
  • 248

JS设置cookie、读取cookie、删除cookie

JS设置cookie、读取cookie、删除cookie   JvaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。   而cooki...
  • lululove19870526
  • lululove19870526
  • 2015年08月11日 18:01
  • 304

JS设置cookie、读取cookie、删除cookie

JS设置cookie、读取cookie、删除cookie 投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2015-04-17 我要评论 Js操作Cookie总结(设置,读...
  • wyd2822285
  • wyd2822285
  • 2016年02月26日 08:28
  • 134
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:运用JS设置cookie、读取cookie、删除cookie
举报原因:
原因补充:

(最多只允许输入30个字)