删除IE中的cookie错误?

时间:2011-11-16 01:06:46

标签: c# javascript asp.net cookies

我正在尝试删除一些由javascript设置的cookie,它在Firefox和Chrome中运行良好,但在IE中却不行,它删除了IE中的cookie值而不是文件,所以当我加载页面时使用cookie它删除后加载一些垃圾而不是任何东西。

我像这样设置了cookie

            var exdate = new Date();
            exdate.setDate(exdate.getDate() + 1);
            var c_value = escape(data.d) + "; expires=" + exdate.toUTCString();
            document.cookie = "user" + "=" + data.d;

并将其删除

document.cookie = 'user=; expires=Thu, 01-Jan-70 00:00:01 GMT;';

我的问题在哪里?


我还有用于ASP.Net的C#中的代码来删除cookie,但是它不能在任何Web浏览器中工作,(它适用于由C#设置而不是使用Javascript设置的cookie)问题出在哪里还有这个代码吗?

FormsAuthentication.SignOut();
    Response.Cookies["user"].Expires = DateTime.Now.AddDays(-1);
    Session.Clear();
    Response.Cookies.Clear();

2 个答案:

答案 0 :(得分:0)

您必须将cookie发送到响应流,否则您的修改将永远不会提交给浏览器。

我通常使用此代码注销:

FormsAuthentication.SignOut();
CurrentContext.Session.Abandon();
HttpCookie c = CurrentContext.Request.Cookies[FormsAuthentication.FormsCookieName];
if (c != null)
{
     c.Expires = DateTime.Now.AddDays(-1);
     CurrentContext.Response.Cookies.Add(c);
}

答案 1 :(得分:0)

创建Cookie时尝试包含域名

Response.Cookies(“abc”)。Domain =“。xyz.com”

并删除

Response.Cookies("uid").Value = Nothing

Response.Cookies("abc").Expires DateTime.Now.AddDays(-1)

Response.Cookies("abc").Domain = ".xyz.com"

并使用以下工具检查您的Cookie

http://www.nirsoft.net/utils/iecookies.html