前端cookie操作集

JSP页面内取cookie

cookie在本地浏览器以数组的形式存放,一个cookie就是一个键值对,通过循环数组,并根据name来取出来对应的value。下例中,取出name为“youke”的cookie值

<%
String name = "youke";
         javax.servlet.http.Cookie cookie = null;
        javax.servlet.http.Cookie[] cookies = null;
         cookies = request.getCookies();
         if( cookies != null ){
             for (int i = 0; i < cookies.length; i++){
                 cookie = cookies[i];
                 if(cookie.getName().equals("name")){
                     name = URLDecoder.decode(cookie.getValue( ),"utf-8");
                 }
             }
         }
%>

JS取cookie

function getCookie(c_name) {
if(document.cookie.length > 0) {
    //如果cookie为空
    var c_start = document.cookie.indexOf(c_name + "="); //检查key为c_name的cookie是否存在
    if(c_start != -1) {
        c_start = c_start + c_name.length + 1; //获取cookie值开始的位置
        var c_end = document.cookie.indexOf(";",c_start);  //获取cookie值结束的位置;因为需要考虑是否是最后一项,所以通过";"号是否存在来判断
        if(c_end == -1) {
            c_end = document.cookie.length;
        }
        return unescape(document.cookie.substring(c_start, c_end));
    }
}
return "";
}

JS存cookie

  • c_name:cookie的key值
  • c_value:cookie的value值
  • expiredays:过期时间,单位为天
function setCookie(c_name,c_value,expiredays) {
//1.设置cookie过期时间
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);                                                       
//2.设置cookie
//document.cookie = c_name + "=" + escape(c_value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
//document.cookie = c_name + "=" + escape(c_value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/"; //加路径的
//document.cookie = c_name + "=" + escape(c_value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/;domain=.kongzhong.com"; //加路径的和域的
document.cookie = c_name + "=" + escape(c_value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/;domain=.kongzhong.com;secure"; //加路径的和域,安全的
}

JS存cookie

  • 删除cookie
  • @param c_name cookie的key值
function delCookie(c_name) {
//setCookie(c_name,null,-30); 只要把第三个参数设置成负值就行了
setCookie(c_name,"",-30);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,159评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,488评论 18 399
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,506评论 11 349
  • 今天webryan给team做了一个关于HTTP cookie的分享,从各个方面给大家介绍一下大家耳熟能详的Coo...
    秒赞不是偶然阅读 12,791评论 0 20
  • 【昨日三句话】 1、每一件事都需要至少三次打磨,不要羡慕专业人士非常娴熟的技艺,那是他千百次重复的结果。 这几天出...
    爱游泳的Danny阅读 1,180评论 2 2

友情链接更多精彩内容