如何使用 JavaScript 读取 Cookie?


在这篇文章中,我们将学习如何在 javascript 中读取 cookie,以及如何使用它来实现某些功能,例如用户跟踪、用户偏好、个性化体验等。

Cookie 是存储在用户网络浏览器中的少量数据。在 javascript 中,我们可以使用文档的 cookie 属性读取 cookie,并使用解构提取所需的信息。

让我们看一些例子来更好地理解这个概念 -

示例 1 - 读取所有 Cookie

在这个例子中,我们将 -

  • 通过访问 document.cookie 属性读取所有 cookie 并将其记录到控制台。

  • 这向我们展示了如何获取包含所有 cookie 的字符串。

文件名 - index.html

<html>
<head>
   <title>How to read a cookies</title>
   <script>
      document.cookie = "session=123456789";

      function readAllCookies() {
         let cookies = document.cookie;
         console.log(cookies);
      }

      readAllCookies();
   </script>
</head>
<body>
   <h1>Read All Cookies</h1>
</body>
</html>

输出

结果将类似于下图。

示例 2 - 读取特定 Cookie

在这个例子中,我们将 -

  • 定义一个 getCookie 函数,该函数为我们提供特定 cookie 的值。

  • 我们将 document.cookie 字符串拆分为单个 cookie 的数组,迭代它们,并检查匹配的 cookie 名称。

  • 如果找到 cookie,我们将返回解码后的值。

  • 然后我们将 cookie 记录到控制台。

文件名 - index.html

<html>
<head>
   <title>How to read a cookie using JavaScript?</title>
   <script>
      document.cookie = "username=John Doe";
      document.cookie = "profession=Software Engineer";

      function getCookie(cookieName) {
         let cookies = document.cookie;
         let cookieArray = cookies.split("; ");
      
         for (let i = 0; i < cookieArray.length; i++) {
            let cookie = cookieArray[i];
            let [name, value] = cookie.split("=");
           
            if (name === cookieName) {
               return decodeURIComponent(value);
            }
         }
         
         return null;
      }

      let username = getCookie("username");
      console.log(username);
   </script>
</head>
<body>
   <h1>Read Specific Cookie</h1>
</body>
</html>

输出

结果将类似于下图。

结论

读取 cookie 使我们能够访问浏览器存储的用户特定数据,例如偏好设置、会话 ID 或登录令牌。然后,这些值可以应用于各种在线应用程序,例如自定义用户界面、添加用户特定功能或监控网站活动。我们学习了如何使用不同的方法在 javascript 中读取 cookie,并查看了一些解释相同的示例。

更新于: 2023年8月16日

4K+ 阅读量

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告