JS两个页面出现不同的Cookie及无法清除Cookie的解决办法

今天遇到一个cookie的问题: 域为http://xxx.com/index.htm与http://xxx.com/xxx/a-1.htm 的 cookie相同键,传递参数后出现不同值。搞了半天终于发现问题所在:原来是我关于cookie的基础知识没搞清楚 。。。。

Cookie不仅仅有名字和值两个属性,还有域(domain),过期时间(expires),路径(path)等属性。 其中,不同的域、不同的路径下可以存在同样名字的cookie。

下面是我到网上找的设置Cookie的方法,

一般我们设置cookie的方法是用一个同样名字、一个值。 这时就一定要搞清楚你要设置的cookie的域和路径。 否则产生的效果可能会出现我说的那种情况

指定可访问cookie的主机名

和路径类似,主机名是指同一个域下的不同主机,例如:www.google.com和gmail.google.com就是两个不同的主机名。默认情况下,一个主机中创建的cookie在另一个主机下是不能被访问的,但可以通过domain参数来实现对其的控制,其语法格式为:

document.cookie="name=value; domain=cookieDomain";
以google为例,要实现跨主机访问,可以写为:

document.cookie="name=value;domain=.google.com";
这样,所有google.com下的主机都可以访问该cookie。

最后总结一下:设置Cookie的代码中要加 路径(path), “; path=/”(代码红色标记);

关于稚子

你们眼中的草根
此条目发表在Web前台开发技术分类目录,贴了标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注