12

我想使用最初在服务器端创建的 javascript 清除 cookie。每当我使用 javascript 创建 cookie 时,我的域上都会出现一个前导点,因此我无法覆盖服务器的 cookie。

function clearCookie(name, domain, path){
    var domain = domain || document.domain;
    var path = path || "/";
    document.cookie = name + "=; expires=" + +new Date + "; domain=" + domain + "; path=" + path;
};

clearCookie('cookieTime');

这是我的 cookie 的结果:

name: cookieTime
domain: .www.currentdomain.com
path: /

这是来自服务器的 cookie:

name: cookieTime
domain: www.currentdomain.com
path: /

如何创建没有前导点的 js cookie?

4

1 回答 1

11

正如您在此处看到的,您可以通过根本不设置域来摆脱前导点。

此外,考虑到您只能更新自己的 cookie,因此请去掉函数中的域并更新服务器设置的 cookie,例如:

function clearCookie(name, path){
    var path = path || "/";
    document.cookie = name + "=; expires=" + new Date() + "; path=" + path;
};

clearCookie('cookieTime');
于 2014-10-23T14:04:50.380 回答