javaScript 删除本地cookie删不了

一、js删除本地cookie无法删除

- 今天发现自己真的蠢爆了! 以下为cookie定义: 1.设置Cookie的key 2.设置Cookie的key-value值 3.过期时间-自定义(一般在删除的时候) expires 4.路径(path)(一般定义 path=/) 5.域(domain)
  1. 在chrome console下尝试删除、设置cookie时,发现可以同时存在多个同名同值cookie。

    而且我们只能删除掉自己刚设定的cookie,不能删除,网站给我设定的cookie。以下为网上找的方法:

function setCookie(name, value, exdays) {
    var date_time = new Date();
    date_time.setTime(date_time.getTime() + (exdays*24*60*60*1000));
    // date_time.setTime(date_time.getTime()+5);   这句意思为5秒后删除cookie
    var expires = "expires="+d.toGMTString();
    document.cookie = name + "=" + value + "; " + expires;
  • 显然上面个方法我试了很多次实在是没成功

然后想到了,我当前chrome在该页面设置的cookie是不是不是和网站给我设置的cookie在一个路径下

1.2 解决问题

然后尝试修改,这次在后台页面直接修改的js:
var u_name = $(this).prev().text()  // 这个是我存的用户名
var date_time = new Date();
date_time.setTime(date_time.getTime()+1);
var expires= "expires="+ date_time.toGMTString()+";path=/";  # 单斜杠 ‘/’表示项目当前根路径
console.log("username"+"="+$(this).prev().text()+';'+expires);
document.cookie = "username"+"="+u_name+';'+expires;
  • 没错就是差的那个 ' path=/' 属性

说到这你也可以理解了,为什么在console下可以出现同名,同值cookie。

而加上 path 属性,浏览器就可以找到是哪一个路径下的cookie 去精确操作了