【发布时间】:2008-09-11 05:42:44
【问题描述】:
好的,这是 411 - 我的 Global.asax.cs 文件中有以下事件处理程序:
private void Global_PostRequestHandlerExecute(object sender, EventArgs e)
{
if (/* logic that determines that this is an ajax call */)
{
// we want to set a cookie
Response.Cookies.Add(new HttpCookie("MyCookie", "true"));
}
}
该处理程序将在 Ajax 请求期间运行(由于我正在使用 Ajax 框架),以及在其他时间 - if 语句的条件过滤掉非 Ajax 事件,并且工作正常(它是'这里不相关,所以为了简洁起见,我没有包括它)。
我们可以说它工作得很好 - cookie 已设置,我可以在客户端上读取它,并且一切都很好。
现在是让我抓狂的部分。
这是我用来删除 cookie 的 JavaScript 函数:
function deleteCookie(name) {
var cookieDate = new Date();
cookieDate.setTime(cookieDate.getTime() - 1);
document.cookie = (name + "=; expires=" + cookieDate.toGMTString());
}
当然,在设置 cookie 后的某个时间点,我会像这样删除它:
deleteCookie("MyCookie");
只是,这不起作用; cookie 仍然存在。那么,有人知道为什么吗?
【问题讨论】:
-
一个海盗走进一家酒吧,酒保说:“对不起,船长,但是你的胯部是怎么把船的轮子卡住的?” “我不知道,”海盗说,“但我快疯了!”
-
对不起,就上下文而言,这个笑话可能没有意义 - 当我在原始问题中写下“现在让我发疯的部分”时,我忍不住想起了那个笑话。 ..这是一个很好的。 :P
-
您应该接受@Andreas Petersson 的回答。
标签: c# asp.net javascript ajax cookies