📜  javascript 设置和获取 cookie - Javascript (1)

📅  最后修改于: 2023-12-03 15:16:15.895000             🧑  作者: Mango

JavaScript 设置和获取 Cookie

在 JavaScript 中,可以使用 document.cookie 属性来设置和获取 Cookie。Cookie 是一种用于在客户端存储数据的小型文件,它在每次请求中通过 HTTP 请求头发送到服务器。

设置 Cookie

要设置 Cookie,需要将一个字符串赋值给 document.cookie 属性。字符串的格式通常为 name=value,可以包括多个属性和值。以下是设置 Cookie 的示例代码:

document.cookie = "name=John Doe";

也可以设置更多的属性,例如设置 Cookie 的过期时间、路径和域。下面的代码演示了设置具有过期时间和路径的 Cookie:

// 设置 Cookie 的过期时间为一天后
var expirationDate = new Date();
expirationDate.setDate(expirationDate.getDate() + 1);

// 设置 Cookie 的路径为根目录
var path = "/";

// 设置 Cookie
document.cookie = "name=John Doe; expires=" + expirationDate.toUTCString() + "; path=" + path;
获取 Cookie

要获取 Cookie 的值,可以通过解析 document.cookie 属性的字符串来获得。下面是获取 Cookie 的示例代码:

var cookies = document.cookie.split(";");

for (var i = 0; i < cookies.length; i++) {
    var cookie = cookies[i].trim();

    // 判断当前 Cookie 中是否包含指定的名称
    if (cookie.startsWith("name=")) {
        var value = cookie.substring("name=".length);
        console.log(value);
        break;
    }
}

如果要获取所有的 Cookie,可以在循环中使用类似的逻辑。

删除 Cookie

要删除 Cookie,可以将其过期时间设置为一个过去的日期。以下是删除 Cookie 的示例代码:

// 设置 Cookie 的过期时间为当前时间的前一秒
var expirationDate = new Date();
expirationDate.setSeconds(expirationDate.getSeconds() - 1);

// 删除 Cookie
document.cookie = "name=John Doe; expires=" + expirationDate.toUTCString();

请注意,删除 Cookie 时需要提供相同的路径和域。

以上代码演示了如何在 JavaScript 中设置和获取 Cookie。通过使用 document.cookie 属性,可以方便地处理包含用户信息的数据。注意在设置 Cookie 时需要注意安全性和隐私保护。