首页 > 解决方案 > 如何设置和获取cookies

问题描述

我想简单地将 cookie 设置为 chrome 并将其取回,但代码意外返回 undefined。我错过了什么?

function setCookie(name,value) {
  document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);
}

function getCookie(name) {
  let matches = document.cookie.match(new RegExp(
    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
  ));
  return matches ? decodeURIComponent(matches[1]) : undefined;
}

setCookie('user','john')

let cookie = getCookie('user');

console.log(cookie);

我在本地工作有关系吗?!

标签: javascript

解决方案


我在本地工作有关系吗?!

这取决于您所说的“本地”是什么意思。如果您直接在浏览器中打开 HTML 文件(地址栏以 开头file:),是的,这很重要,因为 cookie 是 HTTP 的东西。

要在本地进行 Web 开发,请务必使用 Web 服务器,因为使用URL 而不是/ URL ,许多事情不起作用或工作方式略有不同。许多 IDE 都有一个集成的 Web 服务器用于测试,或者很容易安装一个基本版本的 Apache 或 nginx 等。file:http:https:


推荐阅读