美文网首页
js设置cookie的简单方法

js设置cookie的简单方法

作者: 女王陛下的喵 | 来源:发表于2019-03-26 14:36 被阅读0次

    一,js设置cookie的用处

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

    // 取得cookie
    function getCookie(name) {
      var nameEQ = name + '='
      var ca = document.cookie.split(';') // 把cookie分割成组
      for (var i = 0; i < ca.length; i++) {
        var c = ca[i] // 取得字符串
        while (c.charAt(0) == ' ') { // 判断一下字符串有没有前导空格
          c = c.substring(1, c.length) // 有的话,从第二位开始取
        }
        if (c.indexOf(nameEQ) == 0) { // 如果含有我们要的name
          return unescape(c.substring(nameEQ.length, c.length)) // 解码并截取我们要值
        }
      }
      return false
    }
    
    // 清除cookie
    function clearCookie(name) {
      setCookie(name, "", -1);
    }
    
    // 设置cookie
    function setCookie(name, value, seconds) {
      seconds = seconds || 0;   //seconds有值就直接赋值,没有为0,这个根php不一样。
      var expires = "";
      if (seconds != 0 ) {      //设置cookie生存时间
        var date = new Date();
        date.setTime(date.getTime()+(seconds*1000));
        expires = "; expires="+date.toGMTString();
      }
      document.cookie = name+"="+escape(value)+expires+"; path=/";   //转码并赋值
    }
    

    二,js实例
    调用一下上面方法:
    setCookie("test","tank",1800); //设置cookie的值,生存时间半个小时
    alert(getCookie('test')); //取得cookie的值,显示tank
    clearCookie("test"); //删除cookie的值
    alert(getCookie('test')); //test对应的cookie值为空,显示为false.就是getCookie最后返的false值。

    相关文章

      网友评论

          本文标题:js设置cookie的简单方法

          本文链接:https://www.haomeiwen.com/subject/pevgvqtx.html