JavaScript与ASP.NET获取Cookie过期时间的变通方案
作者:异步漫步时间:2026-10-28 13:19:40浏览:435
本文指出JavaScript和动态页面无法直接获取Cookie的过期时间,因为该信息仅由浏览器管理。文章提供了在ASP.NET和JavaScript中通过额外存储Cookie值来间接记录并获取过期时间的具体代码实现与解决方案。
Cookie过期时间的获取限制
JavaScript脚本与动态网页代码均无法直接读取Cookie的过期时间。过期时间的管理完全由浏览器负责,前端脚本或后端动态页面仅能设置过期时间,无法通过document.cookie(JavaScript)或Cookie.Expires(ASP.NET)等属性反向获取已设置的过期时间。
ASP.NET中的Cookie处理示例
示例代码如下:
<%@page language="C#" Debug="true"%>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
HttpCookie hc = Request.Cookies["abc"];
if (hc != null)
{
Response.Write(hc.Expires);//0001-1-1 0:00:00
Response.End();
}
}
</script>
尽管ASP.NET中的Cookie对象包含Expires属性,但通过Response.Write输出该属性时,返回的却是0001-1-1 0:00:00(即DateTime.MinValue)。这是因为浏览器在发送Cookie数据给服务器时,并不包含过期时间信息,服务器端因此使用DateTime.MinValue来填充该属性。若必须获取Cookie的过期时间,需借助另一个Cookie值来记录对应Cookie的过期时间。具体实现如下:
JavaScript获取过期时间的变通方案
示例代码如下:
<script>
var d = new Date();
d.setHours(d.getHours() + 1); //1小时候过期
document.cookie = 'testvalue=123;expires=' + d.toGMTString(); //存储cookie值
document.cookie = 'testexp=' + escape(d.toLocaleString()) + ';expires=' + d.toGMTString(); //存储cookie过期时间,要获取testvalue这个cookie的过期时间,通过获取testexp这个cookie来实现
</script>作者最新文章
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
