首页 > 代码库 > js 操作cookie cookie路径问题

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 =http://www.mamicode.com/ getCookie(name);10     if (nameValue =http://www.mamicode.com/="") {11       document.cookie = name + "=" + key + "=" + encodeURI(value) + ";expires=" + exp.toGMTString() + ";path=/";12     }13     else {14         var keyValue =http://www.mamicode.com/ getCookie(name, key);15         if (keyValue != "") {16             nameValue = http://www.mamicode.com/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 nameValuehttp://www.mamicode.com/= ""; 3 var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); 4 if (arr = document.cookie.match(reg)) { 5 nameValue = http://www.mamicode.com/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 }

 

js 操作cookie cookie路径问题