Cookie不会删除?

问题描述:

我有一个cookie,可以说它的名字是“MY_COOKIE”。Cookie不会删除?

它在那里,100%,它存在,我可以访问它,太棒了!

但是,当我单击注销按钮时,它的意思是擦除cookie并将页面重新加载到别的地方。

但是,它不会擦除cookie,但会重新加载页面。

我需要的cookie被删除,任何帮助?

以下是我所有的功能。

$(document).on("click", ".log-out", function(e) { 
 
    eraseCookie("MY_COOKIE"); 
 
    window.location = "A PAGE"; 
 
}); 
 

 
// Cookie functions 
 
function createCookie(name, value, days) { 
 
    if (days) { 
 
    var date = new Date(); 
 
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 
 
    var expires = "; expires=" + date.toGMTString(); 
 
    } else var expires = ""; 
 

 
    var fixedName = '<%= Request["formName"] %>'; 
 
    name = fixedName + name; 
 

 
    document.cookie = name + "=" + value + expires + "; path=/"; 
 
} 
 

 
function readCookie(name) { 
 
    var nameEQ = name + "="; 
 
    var ca = document.cookie.split(';'); 
 
    for (var i = 0; i < ca.length; i++) { 
 
    var c = ca[i]; 
 
    while (c.charAt(0) == ' ') c = c.substring(1, c.length); 
 
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); 
 
    } 
 
    return null; 
 
} 
 

 
function eraseCookie(name) { 
 
    createCookie(name, "", -1); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

我不想使用jQuery框架COOKIE,我想我的代码工作,回答使用外部框架将让你DOWNVOTED。

+0

请问如果不重新加载网页它的工作? – Barmar

+0

试图在控制台中删除,似乎没有工作,但不能明白为什么“/ – SkullDev

+0

似乎工作正常:https://jsfiddle.net/DinoMyte/5nqh05b2/ – DinoMyte

javascript - delete cookie

试试这个:

function delete_cookie(name, path, domain) { 
if(get_cookie(name)) { 
    document.cookie = name + "=" + 
    ((path) ? ";path="+path:"")+ 
    ((domain)?";domain="+domain:"") + 
    ";expires=Thu, 01 Jan 1970 00:00:01 GMT"; 
} 

}

或者:

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

我不想使用外部框架... – SkullDev

+0

@SkullDev我已经更新了我的答案 – user5697101

+1

请不要从其他问题复制粘贴答案(http://*.com/questions/10593013/delete-cookie-by -名称) 。如果你提供解决方案,你应该有一个有效的解释。 – DinoMyte