如何在 JavaScript 中创建和读取 Cookie 的值?
创建 Cookie
创建 Cookie 的最简单方法是将字符串值分配给 document.cookie 对象,其类似如下 −
document.cookie = "key1=value1;key2=value2;expires=date";
此处的 “expires” 属性是可选的。如果您使用有效日期或时间提供此属性,那么 Cookie 将在给定日期或时间过期,此后将无法访问 Cookie 的值。
示例
尝试执行以下操作。它将在输入 Cookie 中设置客户名称。
<html> <head> <script> <!-- function WriteCookie() { if( document.myform.customer.value == "" ) { alert("Enter some value!"); return; } cookievalue= escape(document.myform.customer.value) + ";"; document.cookie="name=" + cookievalue; document.write ("Setting Cookies : " + "name=" + cookievalue ); } //--> </script> </head> <body> <form name="myform" action=""> Enter name: <input type="text" name="customer"/> <input type="button" value="Set Cookie" onclick="WriteCookie();"/> </form> </body> </html>
读取 Cookie
读取 Cookie 和写入 Cookie 一样简单,因为 document.cookie 对象的值是 Cookie。因此,您可以在任何想要访问 Cookie 时使用此字符串。document.cookie 字符串会保留一个 name=value 对列表,这些对由分号分隔,其中 name 是一个 Cookie 的名称,而 value 是其字符串值。
示例
您可以尝试运行以下代码来读取 Cookie
<html> <head> <script> <!-- function ReadCookie() { var allcookies = document.cookie; document.write ("All Cookies : " + allcookies ); // Get all the cookies pairs in an array cookiearray = allcookies.split(';'); // Now take key value pair out of this array for(var i=0; i<cookiearray.length; i++) { name = cookiearray[i].split('=')[0]; value = cookiearray[i].split('=')[1]; document.write ("Key is : " + name + " and Value is : " + value); } } //--> </script> </head> <body> <form name="myform" action=""> <p> click the following button and see the result:</p> <input type="button" value="Get Cookie" onclick="ReadCookie()"/> </form> </body> </html>
广告