我有VB6网络应用程序,我必须删除cookie。不幸的是,cookie在名称中有下划线 - 示例cookie名称如下:XXXXXXAAASS_session_key
。
当我尝试通过为其指定空值来删除它时:
Response.cookies.Item("XXXXXXAAASS_session_key") = ""
我的Firefox浏览器报告了一个名为XXXXXXAAASS%5Fsession%5Fkey
的新cookie(编码为%5F
的下划线)(在Cookie视图的某个地方,在FF选项和Firebug视图中)。
我还尝试使用以下代码清除此Cookie:
document.cookie = 'XXXXXXAAASS_session_key_session_key=;expires=Thu, 01-Jan-70 00:00:01 GMT;path=/';
这也不起作用:( - 在其他域中创建cookie。
恐怕我无法更改cookie名称。
现在我将尝试迭代cookies
集合,但我不相信它会起作用:(。
知道我能做错什么吗?
答案 0 :(得分:0)
这可能是因为你的代码中的cookie名称前面有一个`字符。
答案 1 :(得分:0)
问题解决了,部分......
我无法清除cookie,因为它不是由我的应用程序/服务器设置的 - 我没有注意到:(因为cookie域设置为我的Web应用程序服务器名称。
这解释了为什么我无法清除它或只是创建具有相同名称的新cookie。
但第二个问题仍然存在 - 为什么cookie名称是由VB6编码的。
答案 2 :(得分:0)
Response.AddHeader(“Set-Cookie”,sCookieName&“=; expires =”& Format(Now - 1,“ddd,dd-mmm-yyyy hh:mm:ss”))
避免Response.Cookies对象中的错误。 sCookieName可以有_和。在它没有问题!