读书人

为什么response.cookies(quot;keyquot;).Expir

发布时间: 2012-06-16 20:34:32 作者: rapoo

为什么response.cookies("key").Expires 会覆盖?
大家都知道 给cookies设置有效期 比如
response.cookies("user").Expires=DateAdd("d",100,Now())

我现在有个问题:

我发现 两端代码,第一段执行,不加Expires, 那么浏览器关闭就失效

第二段代码,加Expires, 指定时间失效。


好了,现在做个测试: 先执行有加Expires的代码段, 然后再执行没加Expires的代码段,
发现,执行了后面的代码之后,会使得 前面代码设置的Expires清空。
代码段一:

VBScript code
response.cookies("user").Expires=DateAdd("d",100,Now())response.cookies("user")("id")=100


代码段二
VBScript code
response.cookies("user")("id")=100


另外一个独立的页面,作为读取cookies 测试用的
代码段三
VBScript code
response.write request.cookies("user")("id")



现在执行顺序是,
1,执行代码段一,然后关闭浏览器
2,打开浏览器执行代码三,cookies还存在
3,执行代码段二
4,关闭浏览器
5,执行代码段三
结果,发现 cookies不见了。



为什么呢?


难道每次给cookies赋值,都要说明过期时间吗?


[解决办法]
cookie = request.cookie("user");
cookie("id") = 100;
response.cookies("user") = cookie

第二步换成这样试试
[解决办法]
cookie = request.cookies("user");
cookie("id") = 100;
response.cookies("user") = cookie



少个s
[解决办法]
不设Expires默认就是关闭浏览器后失效。
可以用firebug跟踪一下cookie字符串就知道了,可以看到每次expires=;的设置。

读书人网 >ASP

热点推荐