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

新手上路,请多包涵

如何在 JavaScript 中创建和读取 cookie 中的值?

原文由 Venkatesh Appala 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 639
2 个回答

以下是可用于创建和检索 cookie 的功能。

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

 function getCookie(c_name) {
 if (document.cookie.length > 0) {
 c_start = document.cookie.indexOf(c_name + "=");
 if (c_start != -1) {
 c_start = c_start + c_name.length + 1;
 c_end = document.cookie.indexOf(";", c_start);
 if (c_end == -1) {
 c_end = document.cookie.length;
 }
 return unescape(document.cookie.substring(c_start, c_end));
 }
 }
 return "";
 }

原文由 Srinivas Sabbani 发布,翻译遵循 CC BY-SA 4.0 许可协议

简约且功能齐全的 ES6 方法:

 const setCookie = (name, value, days = 7, path = '/') => {
  const expires = new Date(Date.now() + days * 864e5).toUTCString()
  document.cookie = name + '=' + encodeURIComponent(value) + '; expires=' + expires + '; path=' + path
}

const getCookie = (name) => {
  return document.cookie.split('; ').reduce((r, v) => {
    const parts = v.split('=')
    return parts[0] === name ? decodeURIComponent(parts[1]) : r
  }, '')
}

const deleteCookie = (name, path) => {
  setCookie(name, '', -1, path)
}

原文由 artnikpro 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题