2016-02-04 233 views
-3

我有一個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

回答

-1

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://stackoverflow.com/questions/10593013/delete-cookie-by -名稱) 。如果你提供解決方案,你應該有一個有效的解釋。 – DinoMyte