Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm cách nào để tạo và đọc một giá trị từ cookie trong JavaScript?

Tạo cookie

Cách đơn giản nhất để tạo cookie là gán giá trị chuỗi cho đối tượng document.cookie, trông giống như sau -

document.cookie = "key1=value1;key2=value2;expires=date";

Ở đây, thuộc tính "expires" là tùy chọn. Nếu bạn cung cấp thuộc tính này với ngày hoặc giờ hợp lệ, thì cookie sẽ hết hạn vào một ngày hoặc giờ nhất định và sau đó, giá trị của cookie sẽ không thể truy cập được.

Ví dụ

Hãy thử cách sau. Nó đặt tên khách hàng trong cookie đầu vào.

Bản trình diễn trực tiếp

<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>

Đọc cookie

Đọc cookie cũng đơn giản như viết cookie vì giá trị của đối tượng document.cookie là cookie. Vì vậy, bạn có thể sử dụng chuỗi này bất cứ khi nào bạn muốn truy cập cookie. Chuỗi document.cookie sẽ giữ một danh sách các cặp name =value được phân tách bằng dấu chấm phẩy, trong đó name là tên của cookie và value là giá trị chuỗi của nó.

Ví dụ

Bạn có thể thử chạy mã sau để đọc cookie

Bản trình diễn trực tiếp

<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>