📜  如何解析 HTTP Cookie 标头并返回 JavaScript 中所有 cookie 名称-值对的对象?

📅  最后修改于: 2022-05-13 01:56:55.977000             🧑  作者: Mango

如何解析 HTTP Cookie 标头并返回 JavaScript 中所有 cookie 名称-值对的对象?

Cookie 只是网络服务器发送到用户浏览器的小文本文件。它们包含以下数据。

  1. 具有实际数据的名称-值对。
  2. cookie 失效的到期日期。
  3. 它应该发送到的服务器的域和路径。

方法:要检索 JavaScript 中存储的所有 cookie,我们可以使用document.cookie属性,但该属性返回单个字符串,其中键值对由“;”分隔。如果我们可以将键值对存储到一个对象中,那就太好了,因为它会使检索过程更加容易。 JavaScript 没有为这种情况提供任何方法。所以让我们解决这个问题。

我们需要创建一个函数来解析 cookie字符串并返回一个包含所有 cookie 的对象。这将是一个简单的过程,包含以下步骤。

  1. 使用字符串 .split(“;”)从 cookie字符串中获取每个单独的键值对
  2. 使用字符串.split(“=”)将键与每对中的值分开。
  3. 创建一个包含所有键值对的对象并返回该对象。

示例:请参阅以下代码中的注释以更好地理解。

Javascript


输出:

cookie gfg has value GeeksForGeeks.
cookie foo has value education.