乐闻世界logo
搜索文章和话题

如何使用javascript从cookie中创建和读取值?

1 个月前提问
1 个月前修改
浏览次数8

1个答案

1

在JavaScript中处理cookie主要涉及以下几个步骤:创建、读取和设置过期时间。我将逐一解释这些步骤,并给出相应的代码示例。

创建Cookie

我们可以使用 document.cookie属性来创建cookie。创建cookie主要是给 document.cookie赋值,这个值是一个字符串,通常包含cookie的名称、值以及其他可选的属性(如过期时间、路径和域)。

javascript
function setCookie(name, value, days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; }

在这个例子中,setCookie函数接收三个参数:name(cookie的名称),value(cookie的值),以及 days(cookie的有效期,以天为单位)。如果提供了天数,我们计算出具体的过期日期并设置。最后,我们通过 document.cookie将cookie设置到浏览器中。

读取Cookie

读取cookie时,我们同样使用 document.cookie属性。这个属性包含一个字符串,其中包括了所有设置在当前域下的cookie(名称和值)。我们需要编写函数来解析这个字符串,以便找到我们感兴趣的特定cookie的值。

javascript
function getCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null; }

这个 getCookie函数会查找与指定名称匹配的cookie。它通过分割 document.cookie字符串来遍历所有cookie,并检查每一个cookie的名称是否与我们提供的名称匹配。

设置Cookie过期

在创建cookie时,我们已经触及了设置过期时间的方法,即在 setCookie函数中使用 expires属性。如果我们需要删除一个cookie,只需要将它的过期时间设置为一个过去的时间即可。

javascript
function deleteCookie(name) { document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/'; }

这个 deleteCookie函数通过设置cookie的过期时间为1970年1月1日(一个过去的时间),从而使浏览器删除该cookie。

以上就是在JavaScript中使用cookie的基本操作。希望这能帮助您了解如何在Web应用中处理cookie。

2024年8月12日 11:21 回复

你的答案