我正在使用以下功能来创建和删除Cookie。过去这种方法效果很好,但最近我开始通过localhost进行调试,我注意到deleteCookie函数不再起作用。

function setCookie(cname, cvalue, exsecs) {
    let expires = "";
    if (exsecs) {
        var d = new Date();
        d.setTime(d.getTime() + (exsecs * 1000));
        expires = "expires="+ d.toUTCString();
    } else {
        expires = "expires=Fri, 31 Dec 9999 23:59:59 GMT"
    }
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function deleteCookie( name ) {
    document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

如您所见,这非常简单。有没有更好的方法来“删除”在本地工作的cookie?还是我可以进行一些配置更改?

最佳答案

将此作为可能的答案,直到通过相关的解释得到更可靠的答案:

function deleteCookie(name) {
  document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

指定Path属性似乎对遇到类似问题的其他人有用。

Source(尽管没有提到它特定于本地主机)

关于javascript - 无法删除(设置为过期)本地主机上的cookie,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47558126/

10-09 08:42