zoukankan      html  css  js  c++  java
  • Cookie基础


    周末百度笔试,答得题都会,就是不仔细不心细,提前一个小时交卷子,想起来就已经晚了。问了一个cookie的问题,我SB的蒙住了,于是乎,似乎是跪掉了,回来后总结了下Cooke的相关问题。
    ###获取cookie
    javascript中对cookie的接口操作方法就是利用document.cookie来进行的,获取cookie的方法如下。

    var str = document.cookie;


    需要注意的是,cookie保存到字符串是经过URL编码的,所以使用时需要进行解码。

    ###创建cookie
    与获取cookie方法相同,创建cookie依旧使用document.cookie,下面举一个简单的例子。

    document.cookie="name1=value1;name2=value2";



    如例子中所看到的,cookie的格式是一个个名值对组成,并由分号分隔开。
    ###删除cookie
    javascript中并没有直接删除cookie的方法,所以只能通过从新设置cookie,并将cookie的失效时间调整为已经过去的事件,从而达到删除cookie的方法。
    以下是高程三中的cookie方法整合:


    var CookieUtil = {
    
        get: function (name){//获取cookie
            var cookieName = encodeURIComponent(name) + "=",
                cookieStart = document.cookie.indexOf(cookieName),
                cookieValue = null,
                cookieEnd;
                
            if (cookieStart > -1){
                cookieEnd = document.cookie.indexOf(";", cookieStart);
                if (cookieEnd == -1){
                    cookieEnd = document.cookie.length;
                }
                cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
            }
    
            return cookieValue;
        },
        
        set: function (name, value, expires, path, domain, secure) {
          //设置cookie
            var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value);
        
            if (expires instanceof Date) {
                cookieText += "; expires=" + expires.toGMTString();
            }
        
            if (path) {
                cookieText += "; path=" + path;
            }
        
            if (domain) {
                cookieText += "; domain=" + domain;
            }
        
            if (secure) {
                cookieText += "; secure";
            }
        
            document.cookie = cookieText;
        },
        
        unset: function (name, path, domain, secure){
        //删除cookie通过重新设置cookie,并将失效日期设置为过去的时间。
            this.set(name, "", new Date(0), path, domain, secure);
        }
    
    };


    以上就是cookie的小部分内容,学习需要谨慎,基础至关重要。

  • 相关阅读:
    netframework webapi IogAttribute记录request参数和错误信息
    An error occurred while starting a transaction on the provider connection. See the inner exception for details.
    mvc partialView断点调试问题
    mysql 用行号rownum更新顺序号字段
    sqlserver 导入excel
    vs2017 git凭证问题
    DataTable 转换为List
    Resharper 修改命名空间
    web api解决序列化后返回标准时间带T问题
    获取当前程序的路径
  • 原文地址:https://www.cnblogs.com/echoRadish/p/3752494.html
Copyright © 2011-2022 走看看