js中的cookie的读写操作示例详解

有关 JavaScript 中的 Cookie 读写操作,通常需要通过 document.cookie 属性进行实现。下面是关于如何读写 Cookie 的示例及详细攻略。

读取 Cookie 值

通过 document.cookie 属性可以访问 Cookie 值。Cookie 格式通常为 name=value,使用分号(;)将多个 Cookie 分隔开,每个分号后面还可能有空格。以下是读取 Cookie 值的代码示例:

function getCookie(name) {
  const cookieString = decodeURIComponent(document.cookie);
  const cookies = cookieString.split(';');
  for (let i = 0; i < cookies.length; i++) {
    const cookie = cookies[i].trim();
    if (cookie.startsWith(`${name}=`)) {
      return cookie.substring(name.length + 1);
    }
  }
  return null;
}

以上代码中,首先使用 decodeURIComponent 函数对 document.cookie 进行解码。然后,使用 split 函数将多个 Cookie 值分割成一个数组。接着,使用 for 循环遍历数组中的每个元素,并使用 startsWith 函数判断是否为要查找的 Cookie,如果是,则使用 substring 函数提取出 Cookie 值并返回。

写入 Cookie 值

写入 Cookie 值通常需要指定 name、value 和过期时间等参数。以下是写入 Cookie 值的代码示例:

function setCookie(name, value, days) {
  const d = new Date();
  d.setTime(d.getTime() + (days * 24 * 60 * 60 * 1000));
  const expires = `expires=${d.toUTCString()}`;
  document.cookie = `${name}=${encodeURIComponent(value)};${expires};path=/`;
}

以上代码中,首先使用 Date 函数获取当前时间,并将过期时间计算为设定的天数之后。然后,使用 toUTCString 函数将时间转换为 UTC 格式的字符串,作为 expires 参数的值。接着,使用 encodeURIComponent 函数对 value 进行编码,防止其中包含特殊字符(如分号等)。最后,使用 document.cookie 属性将 Cookie 值写入浏览器中。

示例说明:

  1. 读取 Cookie:
const name = getCookie('username');
console.log(name);

以上代码将输出名为 'username' 的 Cookie 值。
2. 写入 Cookie:

setCookie('username', 'hello', 3);

以上代码将写入一个名为 'username',值为 'hello',过期时间为 3 天的 Cookie 值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中的cookie的读写操作示例详解 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JavaScript深入理解节流与防抖

    下面我将为大家详细讲解“JavaScript深入理解节流与防抖”的完整攻略。 1. 什么是节流与防抖 1.1 节流 节流指的是在一定时间内,只执行一次特定操作。比如,在监听 scroll 事件时,用户不断地滚动页面,如果每次都响应该事件那么就会造成性能问题,因此可以通过节流的方式,让该事件在一定时间内只执行一次。 1.2 防抖 防抖指的是在频繁触发某个事件时…

    JavaScript 2023年6月10日
    00
  • Javascript 编码约定(编码规范)

    为了让Javascript代码具备可读性以及易于维护,编写Javascript代码时需要遵循一定的编码约定,也被称为编码规范。接下来,本文将介绍Javascript编码规范的完整攻略。 确定代码的缩进方式 在编写Javascript代码时,我们需要使用缩进来表示不同代码块之间的层次结构,一般约定每个缩进级别使用2或4个空格。其中空格的数量应该保持统一,不要混…

    JavaScript 2023年5月19日
    00
  • VueJs单页应用实现微信网页授权及微信分享功能示例

    下面我来为你详细讲解“VueJs单页应用实现微信网页授权及微信分享功能示例”的完整攻略。 简介 微信网页授权和微信分享功能是开发微信公众号和小程序时常用的功能,本文将介绍如何在VueJS单页应用中实现这两个功能。 微信网页授权 在公众平台中注册一个微信公众号,并且在公众号设置中添加JS接口安全域名,否则无法使用微信JS-SDK功能。 在网页中引入微信JS-S…

    JavaScript 2023年6月11日
    00
  • Ajax中数据传递的另一种模式 javascript Object Notation思想(JSON)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。由于 JSON 具有比 XML 更加简单、更加易读、更加易于书写,越来越多的 Web 服务开始采用 JSON 作为数据交换的标准格式。 JSON 的基本语法格式为键值对,即“key:value”格式,用“{}”表示一个对象,用“[]”表示数组,JSON中的数据类型支持…

    JavaScript 2023年5月19日
    00
  • javascript asp教程服务器对象

    “JavaScript asp教程服务器对象”是指在asp中使用JavaScript时可以访问的一些服务器对象。在这里,我将向您介绍ASP中常用的服务器对象,并提供一些示例代码。 1. 什么是ASP服务器对象? 服务器对象是ASP运行环境提供的一些API(应用程序接口),它允许我们在ASP中访问服务器端应用程序信息、处理服务器端请求和向客户端发送内容等操作。…

    JavaScript 2023年6月11日
    00
  • Node错误处理笔记之挖坑系列教程

    关于“Node错误处理笔记之挖坑系列教程”的完整攻略,我将进行详细的讲解。该攻略主要包含以下几个方面: 一、错误处理的背景和概述 该部分主要介绍了错误处理的重要性和常见的错误处理策略。其中提到了全局错误处理、自定义错误处理、错误码管理等方面的内容。 二、挖坑篇:错误场景分析 该部分主要介绍了一些常见的错误场景,包括异步调用错误、请求参数错误、数据库操作错误等…

    JavaScript 2023年5月28日
    00
  • 异步调用webservice返回responseXML为空的问题解决方法

    问题描述: 在使用异步调用WebService的过程中,发现返回的responseXML是空的,无法获取WebService返回的数据。 问题原因: 在异步调用WebService的过程中,当WebService执行完毕并返回结果时,由于网络传输等原因,数据无法及时返回,造成异步调用方法返回空值的情况。 问题解决方法: 设置WebService的超时时间 在…

    JavaScript 2023年6月11日
    00
  • javascript向flash swf文件传递参数值注意细节

    让我们详细讲解“javascript向flash swf文件传递参数值注意细节”的攻略。 1. 基本概念 在传递参数之前,我们需要了解一些关于Flash与JavaScript之间交互的基本概念。 Flash对于JavaScript的支持 Flash支持通过JavaScript调用Flash中的方法(ExternalInterface.call),以及在Fla…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部