我第一次在ASP中尝试cookie。问题是,无论我用多少种方式编写代码,cookie都不会过期。
制作饼干:
HttpCookie cookie = new HttpCookie("test");
cookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(cookie);
检查是否存在:
if (Request.Cookies["test"] != null)
Response.Write("test");
else
Response.Write("no test");
它总是显示"测试"。
您是在同一个请求中执行此操作吗?在这种情况下,旧cookie仍然存在于请求中,但不会出现在后续请求中。
您已经在客户端销毁了所有cookie
https://learn.microsoft.com/en-us/dotnet/api/system.net.cookie.expired?view=net-6.0使用这个代码,它对我有效。
<script>
$(document).ready(function () {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
});
</script>
备注:
如果收到过期的cookie,客户端应用程序应将其销毁。