我已经使用JavaScript创建了一个cookie。在Google chrome控制台(“应用程序”选项卡)中,我可以看到已经过了cookie排除时间,但该cookie仍存在于列表中:
var tempdate = new Date();
tempdate .setTime(tempdate.getTime() + (60 * 1000));
document.cookie = "lock=done; expires="+tempdate ;
列表中cookie的过期时间为:2019-03-03T 17:20:38.000Z
日期的控制台日志显示:2019-03-03T 17:25:41.984Z
当我使用ASP或PHP设置cookie时,cookie过期后,它会自动从此列表中删除。
编辑:这是我测试Cookie是否存在的方法:
<a onclick="check()">Check Again</a>
<script>
function check(){
$.ajax({
url:"check.asp",
success:function(data){
console.log(data); //Prints "lock"
}
})
}
</script>
这是Check.asp:
response.clear
if request.cookies("lock")="done" then response.write "lock"
response.end
答案 0 :(得分:0)
答案 1 :(得分:0)
我已经找到了使用toUTCString()
的解决方案,但是我不知道为什么UTC时间会影响Cookies(!):
我正在本地主机上进行测试,我自己的计算机时间是2019-03-03 18:45
var tempdate = new Date();
tempdate .setTime(tempdate.getTime() + (60 * 1000));
document.cookie = "lock=done; expires="+tempdate.toUTCString() ;
设置:2019-03-03T 15:15:07 .000Z作为到期时间,它可以正常工作,并且 1分钟后到期。
var tempdate = new Date();
tempdate .setTime(tempdate.getTime() + (60 * 1000));
document.cookie = "lock=done; expires="+tempdate;
设置2019-03-03T 18:45:07 .000Z,并且在1分钟后不过期,但是我的计算机时间显示为18:45!