cookies
cookies 集合设置 cookie 的值。若指定的 cookie 不存在,则创建它。若存在,则设置新的值并且将旧值删去。
语法
response.cookies(cookie)[(key)|.attribute] = value
参数
- cookie
- cookie 的名称。
- key
- 可选参数。如果指定了 key,则 cookie 就是一个字典,而 key 将被设置为 value。
- attribute
- 指定 cookie 自身的有关信息。attribute 参数可以是下列之一:
名称 说明 domain 只允许写。若被指定,则 cookie 将被发送到对该域的请求中去。 expires 只允许写。cookie 的过期日期。为了在会话结束后将 cookie 存储在客户端磁盘上,必须设置该日期。若此项属性的设置未超过当前日期,则在任务结束后 cookie 将到期。 haskeys 只允许读。指定 cookie 是否包含关键字。 path 只允许写。若被指定,则 cookie 将只发送到对该路径的请求中。如果未设置该属性,则使用应用程序的路径。 secure 只允许写。指定 cookie 是否安全。 - value
- 指定分配给 key 或 attribute 的值。
注释
如果创建了一个带有关键字的 cookie,如下列脚本所示,
<%
response.cookies("mycookie")("type1") = "sugar"
response.cookies("mycookie")("type2") = "ginger snap"
%>
则此标题将被发送出去。
set-cookie:mycookie=type1=sugar&type2=ginger+snap
如果在指定 mycookie 时不指定关键字,将破坏 type1 和 type2。如下面示例所示。
<% response.cookies("mycookie") = "chocolate chip" %>
在前面的示例中,关键字 type1 和 type2 被破坏且其值也被删除。mycookie cookie 只有 chocolate chip 的值。
反之,如果您用一个关键字调用 cookie,就会毁坏 cookie 包含的任何无关键字的值。例如,如果在上述代码后,用下面的语句调用 response.cookies,
<% response.cookies("mycookie")("newtype") = "peanut butter" %>
则 chocolate chip 的值将被删除且 newtype 会被设置为 peanut butter。
要确定 cookie 是否有关键字,可使用下面的语法。
<%= response.cookies("mycookie").haskeys %>
如果 mycookie 是一个 cookie 字典,则前面的值为 true。否则,为 false。
可以通过循环来设置 cookie 的属性。例如,要将所有的 cookie 设置为在一个特定的日期到期,可使用下面的语法。
<% for each cookie in response.cookies response.cookie(cookie).expires = #july 4, 1997# next %>
您可以使用一个循环设置一个集合中的所有 cookie 或一个 cookie 中的所有关键字。然而,循环在 cookie 没有关键字时若被引用将不会执行。为避免这种情况,你可以先使用 .haskeys 语法检查一个 cookie 是否有关键字。下面的示例对此进行说明。
<%
if not cookie.haskeys then
set the value of the cookie
response.cookies(cookie) = ""
else
set the value for each key in the cookie collection
for each key in response.cookies(cookie)
response.cookies(cookie)(key) = ""
next key
%>
示例
下面的示例说明如何设置 cookie 的值以及如何为其属性赋值。
<%
response.cookies("type") = "chocolate chip"
response.cookies("type").expires = "july 31, 1997"
response.cookies("type").domain = "msn.com"
response.cookies("type").path = "/www/home/"
response.cookies("type").secure = false
%>
应用于
response 对象
