+ -
当前位置:首页 → 问答吧 → 关于修改Cookie变量值是否要设置有效期的问题总结

关于修改Cookie变量值是否要设置有效期的问题总结

时间:2011-11-12

来源:互联网

修改Cookie变量值是否要设置有效期的问题可分为两种情况讨论:

在同一个页面中,如果要修改Cookie变量值,对它设置新值即可,不需要再次使用Expires语句设置有效期。例如:
<% 
response.Cookies("user")="mary"
response.Cookies("age").expires=date()+7
Response.Cookies("age")=24
Response.Cookies("age")=21
response.Write request.Cookies("age")
 %>

则Cookie变量age的值会设置为21。

在其他页面中,如果要修改另一个页面中的Cookie变量值,则一定要用Expires语句设置有效期,否则会把原来的Cookie值删除掉。例如:
<% 
response.Cookies("user")="ass"
response.Cookies("user").expires=date()+7
user=request.Cookies("user")
response.write "您好! "& user
 %>
如果不设置有效期,则第一个页面中设置的Cookie变量user的值会被删除,第二个页面设置的Cookie变量user值只是一个临时变量。
当然,在其他页面中,如果要删除Cookie变量的值,直接设置response.Cookies("user")=""即可,无须设置有效期,该Cookie变量会自动删除。

因此,我觉得有些书上说的如果设置了Cookie变量后不设置有效期,该Cookie变量就是一个临时Cookie,这种说法不准确,因为即使不设置有效期它仍然会对Cookie文件中的内容进行写操作,比如删除掉其中一些内容。

如果想验证我的说法,可以把Cookie文件夹中的所有文件都删除,然后每运行一次文件看Cookie文件夹中有什么变化。

摘自《ASP动态网页设计与Ajax》 清华大学出版社 http://ec.hynu.cn

作者: wuxia2118   发布时间: 2011-11-12

嗯,说的挺好

作者: ly155280095   发布时间: 2011-11-12