最近有一网站,用到js设置和读取cookies的功能,在实际做的过程中,遇到了js成功创建了cookies,但获取读取时遇到了问题,有时能成功读取,有时又获取失败。经过多番检查测试,发现读取成功的都是在同一目录路径下,其他目录均获取失败。
那么js获取cookies失败,会不会和目录路径有关呢?经查询资料,问题还就出在目录路径上了,请看下面的实例。
//设置Cookie function SetCookie(name, value) { var exp = new Date(); exp.setTime(exp.getTime() + 3 * 24 * 60 * 60 * 1000); //3天过期 document.cookie = name + "=" + encodeURIComponent(value) + ";expires=" + exp.toGMTString(); return true; };
通过上面的SetCookie创建的cookies,发现在不同的目录下,调用同一个js方法来存储Cookie,是获取不到cookies值的。经检查发现,JS在存储的时候,可能是存储的路径没有指定,所以存储的时候,在不同的目录存储,导致了不同的结果,最后在存储的时候,指定了下path,问题得意解决,代码如下:
//设置Cookie function SetCookie(name, value) { var exp = new Date(); exp.setTime(exp.getTime() + 3 * 24 * 60 * 60 * 1000); //3天过期 document.cookie = name + "=" + encodeURIComponent(value) + ";expires=" + exp.toGMTString()+";path=/"; return true; };
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/1056.html