现在的位置: 网页制作教程网站制作经验 >正文
JS特效教程

js获取cookies失败的原因分析

发表于2018/10/18 网站制作经验 0条评论 ⁄ 热度 4,712℃

最近有一网站,用到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;
};
  • 暂无评论