• js 操作cookie cookie路径问题


    这里主要不是讲这个方法,js写cookie这种代码网上一抓一把,在使用的时候遇到一点问题,就是写的cookie 是有路径问题的,在user目录下可以使用跳转到另外一个目录下cookie,经过比较cookie与其他cookie的不同发现,用js写的cookie在当前目录下,不在根目录下,这里可以用这个来控制访问但是不符合现在的需求,在网上的某个地方看到一段代码,可以解决这个问题,在这里贴出来,大家需要用的可以参考。代码如下:

     1 Utils.writeCookie = function (value, name, key) {
     2 var Days = 2;
     3 var exp = new Date();
     4 exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
     5 if (key == null || key == "") {
     6     document.cookie = name + "=" + encodeURI(value) + ";expires=" + exp.toGMTString()+";path=/";
     7 }
     8 else {
     9     var nameValue = getCookie(name);
    10     if (nameValue == "") {
    11       document.cookie = name + "=" + key + "=" + encodeURI(value) + ";expires=" + exp.toGMTString() + ";path=/";
    12     }
    13     else {
    14         var keyValue = getCookie(name, key);
    15         if (keyValue != "") {
    16             nameValue = nameValue.replace(key + "=" + keyValue, key + "=" +encodeURI ( value));
    17             document.cookie = name + "=" + nameValue + ";expires=" + exp.toGMTString() + ";path=/";
    18         }
    19         else { 
    20             document.cookie = name + "=" + nameValue + "&" + key + "=" + encodeURI(value) + ";expires=" + exp.toGMTString() + ";path=/";
    21         }
    22         } 
    23     }
    24 }

    顺带把读取cookie的也一起贴 了,引用了别人的代码并非原创:

     1 Utils.readCookie = function(name,key) {
     2 var nameValue = "";
     3 var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
     4 if (arr = document.cookie.match(reg)) {
     5 nameValue = decodeURI(arr[2]);
     6 }
     7 if (key != null && key != "") {
     8 reg = new RegExp("(^| |&)" + key + "=([^(;|&|=)]*)(&|$)");
     9 if (arr = nameValue.match(reg)) {
    10 alert( decodeURI (arr[2])); return decodeURI(arr[2]);
    11 }
    12 else return "";
    13 }
    14 else {
    15 return nameValue;
    16 }
    17 }
  • 相关阅读:
    Dockerfile构建
    ElasticSearch学习之集成客户端
    区块链学习之Hyperledger Fabric开发环境搭建(Go+Docker+Fabric)
    区块链学习之什么是区块链(基础入门)
    python学习之多版本管理及Python安装/卸载遇到的坑(MAC版)
    ElasticSearch学习之基本原理概述
    ElasticSearch学习之基本概念及单机/集群部署
    Kafka学习之Kafka选举机制简述
    Kafka学习之内核原理剖析
    通过idea将java项目发布到harbor仓库
  • 原文地址:https://www.cnblogs.com/EncryptingLife/p/3952372.html
Copyright © 2020-2023  润新知