14-4 �ǰe�p�氮

¤p»æ°®¡]Cookies¡^¬O Netscape ¤½¥q©Òµo®i¥X¨Óªº·§©À¡A¨ä¥Øªº´N¬O­n§JªA Http Protocals ªº Stateless ªº¯S©Ê¡A¥ø¹Ï¦b«È¤áºÝ¦s¨ú¤@¨Ç¸ê°T¡A¨Ï±o¦b Http Requests ¤§¶¡¡A¯à«O¯d¤@¨Ç¦@³qªº¸ê°T¡C§Ú­Ì¥i¥H¨Ï¥Î«È¤áºÝªº JavaScript ¨ÓŪ¼g¤p»æ°®¡A¦³Ãö¦¹³¡¤Àªº²Ó¸`¡A½ÐŪªÌ°Ñ¾\°Ñ¦Ò¥»®Ñ«e­±ªº¬ÛÃö³¹¸`¡C¥»¸`¥D­n¬O°Q½×¦p¦ó¥H ASP ¨Ó¹ï¤p»æ°®¶i¦æ¦UºØ³B²z¡C

ÄY®æªº»¡¡A¤p»æ°®¨Ã¤£¬O ASP ¸Ì­±¤@­Ó³æ¿Wªºª«¥ó¡A¥¦¬O¥Ñ Request.Cookies ¤Î Response.Cookies ¨â³¡¤À©Òºc¦¨¡A«eªÌ¥i¥Î¨ÓŪ¨ú¤p»æ°®ªº¤º®e¡A«áªÌ¥i¥Î¨Ó³]©w¤p»æ°®ªº¤º®e¡C

§Ú­Ì¥i¥H¨Ï¥Î Request.Cookies(Name) ¨ÓŪ¨ú·í¥Î¤á¹ï¦øªA¾¹¶i¦æ­n¨D®É¡A©Ò¶Ç°eªº¬ÛÃö¤p»æ°®¸ê°T¡C¥Ñ©ó Request.Cookies ¬O¤@­Ó Dictionary ÅܼơA©Ò¥H§Ú­Ì¥i¥H¹ï¨ä¤º®e¶i¦æ¤@¤@¦Cªí¡A¨Ò¦p¡G

Example¡]request/listCookie01.asp¡^¡G

¤W­z½d¨Òªº§¹¾ã­ì©lÀɮצp¤U¡G

­ì©lÀÉ¡]request/listCookie01.asp¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
<%@Language=JScript%>
<%
today= new Date();
Response.Cookies("111") = today.toLocaleString();
Response.Cookies("222") = "bbb";
%>
<% title = "¥H JScript ¦L¥X Request.Cookies ªº¤º®e" %>
<!--#include file="../head.inc"-->
<hr>

<!--#include file="../listdict.inc"-->
<% listdict(Request.Cookies, "Request.Cookies"); %>

<hr>
<!--#include file="../foot.inc"-->

¦b¤W­z½d¨Ò¤¤¡A§Ú­Ì¬°¤F­n¨Ï¦L¥X¨Óªº¤p»æ°®¤£¬OªÅªº¡A©Ò¥H§Ú­Ì¥ý¨Ï¥Î Response.Cookies("111") = today.toLocaleString() ¥H¤Î Response.Cookies("222") = "bbb" ¨Ó³]©w¤F¨â­Ó¤p»æ°®¡A±µµÛ§Ú­Ì¨Ï¥Î listdict() ¨ç¼Æ¨Ó¦L¥X¨Ó¦s©ñ©ó Request.Cookies ªº©Ò¦³¤p»æ°®ªº­È¡C¡]¦³Ãö©ó Response ª«¥ó¡A·|¦b¤U¤@³¹»¡©ú¡C¡^

¤@¯ëŪªÌ·|¹ï©ó¤p»æ°®³]©w©M¦Cªíªº¶¶§Ç¦³©Ò²V²c¤£²M¡A¥H¤U¬O¤@­Ó²³æªºÅçÃÒ½d¨Ò¡AÅçÃÒµ{§Ç¦p¤U¡G

  1. ¥ýµo¥Íªº¨Æ¡G§Ú­Ì¥ý¨Ï¥Î Request.Cookes ¨Ó¦C¥X»P¥»­¶¬ÛÃöªº¤p»æ°®¡C
  2. «áµo¥Íªº¨Æ¡G§Ú­Ì¦A¨Ï¥Î¥Î¤áºÝªº JavaScript ¨Ó³]©w¤p»æ°®¡A¦WºÙ¬O lastLoadTime¡A°O¿ýºô­¶¸ü¤J®É¶¡¡C
½d¨Ò¦p¤U¡G

Example¡]request/setCookieViaJs01.asp¡^¡G

·í±z¤ÏÂЭ«¸ü¦¹ºô­¶®É¡A¥i¥HÆ[¹î¨ì¨Æ¶µ¡G

´«¥y¸Ü»¡¡ARequest.Cookies ·|¥ý¶Ç°e¥Ø«e¦¹­¶¬ÛÃöªº¤p»æ°®¦Ü¦øªA¾¹¡Aºô­¶¤U¸ü«á¡A¤~·|¸g¥Ñ¥Î¤áºÝªº JavaScript ¨Ó§ó·s¦¹­¶ªº¤p»æ°®¡A³o­Ó®É¶¡ªº¥ý«á¶¶§Ç¡A½Ð¯S§Oª`·N¡C¥»½d¨Òªº­ì©l½X¦p¤U¡G

­ì©lÀÉ¡]request/setCookieViaJs01.asp¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
<%@Language=JScript%>
<% title = "¥H JScript ¦L¥X Request.Cookies ªº¤º®e" %>
<!--#include file="../head.inc"-->
<hr>

<script src="cookieUtility.js"></script>
<script>
today = new Date();
todayString = today.toLocaleString();
// «á¦b¥Î¤áºÝ°µªº¨Æ¡G³]©w¤p»æ°®
setCookie("lastLoadTime", todayString);
document.write("This page's loading time = " + todayString);
</script>
¡]¦¹¤p»æ°®¤w¸g³Q¼g¤J¡A¦ýµLªk¥ß¨è¥Ñ server script ¨ÓÅã¥Ü¡A¥²¶·¥Ñ client script ¨ÓÅã¥Ü¡C¡^

<h3>¥Ñ Server Script ©ÒÅã¥Üªº¡]ªº¡B°e¨ì¦øªA¾¹ªº¡^¤p»æ°®¡G</h3>
<!--#include file="../listdict.inc"-->
<!--¥ý¦b¦øªA¾¹°µªº¨Æ¡G¦C¥X¥»­¶ªº¤p»æ°®-->
<% listdict(Request.Cookies, "Request.Cookies"); %>

<h3>¥Ñ Client Script ©ÒÅã¥Üªº¡]¥Ø«eªº¡^¤p»æ°®¡G</h3>
<script>listCookie();</script>

<!--
<input type=button value="Remove all cookies and reload" onClick="delAllCookie(); history.go(0)">
-->

<hr>
<!--#include file="../foot.inc"-->

½Ð¯S§Oª`·N¡A¦b¤W­z½d¨Ò­ì©l½X¤¤¡AÁöµM¬Ý°_¨Ó§Ú­Ì¬O¥ý¨Ï¥Î¥Î¤áºÝªº JavaScript ¨Ó³]©w¤p»æ°®¡B¦A¥Î Request.Cookies ¨Ó¦C¥X©Ò¦³¤p»æ°®ªº¤º®e¡A¦ý¦b°õ¦æ¶¶§Ç¤W¡A·|¥ý¥Ñ ASP ¨Ó¦C¥X Request.Cookies ªº¤º®e¡AµM«á¦A¶Ç¨ì¥Î¤áºÝ¡A¥Ñ¥Î¤áºÝªº JavaScript ¨Ó³]©w¤p»æ°®¡C

Hint
©Ò¦³ASPªººô­¶¡A³£¬O¥ý¦b¦øªA¾¹ºÝ°õ¦æserver-side scripts¡AµM«á¤~¨ì¥Î¤áºÝ°õ¦æclient-side scripts¡A³o­Ó¶¶§Ç¤£·|¦]¬° server-side scripts©Mclient-side scripts¦bºô­¶¤¤ªº¦ì¸m¤£¦P¦Ó¦³©Ò§ïÅÜ¡C

¥H¤U¦A«×¦C¥X¤p»æ°®ªº»s§@¬yµ{¡A¥H¨Ñ°Ñ¦Ò¡G

Request.Cookies ¥u­t³d¶Ç°e¤p»æ°®¸ê°T¦Ü¦øªA¾¹¡A­Y­n±q¦øªA¾¹³]©w¤p»æ°®¡A¥i¥H¨Ï¥Î Response.Cookies¡A³o·|¦b¤U¤@³¹»¡©ú¡C

Hint
Request.Cookeis ¥u­t³d¶Ç°e¤p»æ°®¡A©Ò¥H¬O°ßŪªº¡A§A¨ÃµLªk­×§ï Request.Cookies ªº­È¡C


JScript µ{¦¡³]­p»PÀ³¥Î¡G¥Î©ó¦øªA¾¹ºÝªº ASP Àô¹Ò