我有一个函数用于编写cookie:
function Search_Click() {
$.cookie("urlAction", null);
$.cookie("searchKey", null);
var searchkey = $('#txtsearch').val();
var key = decodeURIComponent(searchkey);
sampleData = "Q=" + key;
if ($.cookie("urlInStock") != null) {
action = "NewSearchIn";
} else {
action = "NewSearch";
}
urlAction = "Pro/" + action + "/";
$.cookie("searchKey", sampleData);
$.cookie("urlActionVal", urlAction);
window.location = "/Pro?tab=2";
}
完成Search_Click()
后,页面将重定向到另一个页面,其中包含我刚注册的Cookie。
然后,如果用户点击链接,我想删除该cookie。
这就是我的尝试:
function deleteSearchCookies() {
$.cookie("searchKey", null);
$.cookie("urlActionVal", null);
}
但是当我在FireBug中出错时,会话仍然存在。
答案 0 :(得分:3)
function deleteCookie(name) {
document.cookie = name+'="";-1; path=/';
}
var login = document.getElementById("loginlink");
login.onclick = function() {
deleteCookie("name");
};
答案 1 :(得分:2)
要删除:
function deleteSearchCookies() {
$.removeCookie("searchKey");
$.removeCookie("urlActionVal");
}
了解更多信息visit question
如果您不想使用插件,请使用(根据需要进行备用修改)
//Creates client side cookie
function Cookie(name, value, minutes) {
var expires = "";
if (minutes) {
var date = new Date();
date.setTime(date.getTime() + (minutes * 60 * 1000));
expires = "; expires=" + date.toGMTString();
}
document.cookie = name + "=" + value + expires;
}
function deleteSearchCookies() {
Cookie("searchKey",null,-1);
Cookie("urlActionVal",null,-1);
}
答案 2 :(得分:1)
像这样删除:
$.cookie(cookieName, null, { expires: -1, path: '/' });
很抱歉,您需要使用相同的路径保存它:
var date = new Date();
date.setTime(date.getTime() + sameValueForTime);
$.cookie(cookieName, value, { expires: date, path: '/' });
有时候firebug错误并显示cookie在删除时会存在,但你只能在cookie区域看到它不使用它。