设置Cookie并使用JavaScript获取Cookie

HTTP是一种无状态的协议,即服务器不能识别多个请求是否来自同一个客户端。为了实现跨页面的状态保存,我们通常需要使用cookie技术。

什么是Cookie?

Cookie是由服务器发送到用户浏览器的一小段文本数据,它通常包含有关用户和网站的一些信息。当用户再次访问该网站时,浏览器会将cookie发送回服务器,从而让服务器知道这是同一个用户。

如何设置Cookie?

我们可以使用JavaScript的Document.cookie属性来设置Cookie。Document.cookie是一个字符串,它包含所有的cookie键值对,每个键值对之间用分号加空格("; ")隔开。

下面是一个设置Cookie的示例代码:

-------- --------------- ------ ----- -
  --- ------- - ---
  -- ------ -
    --- ---- - --- -------
    --------------------------- - ----- - -- - -- - -- - -------
    ------- - -- --------- - -------------------
  -
  --------------- - ---- - --- - ----- - ------- - -- --------
-

这个函数接受三个参数:cookie名称、cookie值和过期天数。如果设置了过期天数,则cookie将在指定天数后过期;否则,cookie将在浏览器关闭时过期。

如何获取Cookie?

我们可以使用JavaScript的Document.cookie属性来获取Cookie。Document.cookie返回一个字符串,它包含所有的cookie键值对,每个键值对之间用分号加空格("; ")隔开。

下面是一个获取Cookie的示例代码:

-------- --------------- -
  --- ------ - ---- - ----
  --- -- - ---------------------------
  ------- ----- - -------------- -
    --- - - ------
    ----- --------------- -- - - ------------------------
    -- ------------------ -- -- ------ ------------------------------------
  -
  ------ -----
-

这个函数接受一个参数:cookie名称。它会遍历所有的cookie键值对,找到与指定名称相同的cookie,并返回其值。如果没有找到匹配的cookie,则返回null。

示例代码

下面是一个完整的示例代码,它演示了如何使用setCookie()设置cookie,并使用getCookie()获取cookie:

-------- --------------- ------ ----- -
  --- ------- - ---
  -- ------ -
    --- ---- - --- -------
    --------------------------- - ----- - -- - -- - -- - -------
    ------- - -- --------- - -------------------
  -
  --------------- - ---- - --- - ----- - ------- - -- --------
-

-------- --------------- -
  --- ------ - ---- - ----
  --- -- - ---------------------------
  ------- ----- - -------------- -
    --- - - ------
    ----- --------------- -- - - ------------------------
    -- ------------------ -- -- ------ ------------------------------------
  -
  ------ -----
-

--------------------- ----- ----- ---

--- -------- - ----------------------
-- ---------- -
  -------------- ----- - - -------- - -----
- ---- -
  ------------- --- ------
-

在这个示例中,我们首先使用setCookie()函数将一个名为"username"的cookie设置为"John Doe",有效期为7天。然后,我们使用getCookie()函数获取"username" cookie的值,并根据该值显示欢迎消息或登录提示。

总结

Cookie是一种常见的Web技术,它可以帮助我们实现跨页面的状态保存。通过JavaScript的Document.cookie属性,我们可以方便地设置和获取cookie。在设计Web应用程序时,我们应该注意保护用户隐私,不要滥用cookie技术。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/8497