簡體   English   中英

將對象數組存儲在Cookie中,純JavaScript,沒有jquery?

[英]store array of objects in cookie, pure javascript, no jquery?

我正在嘗試在Cookie中存儲對象數組。

無需使用jQuery或angular。

function setCook (name,value) {
  var cookie = [name, '=', JSON.stringify(value)].join('');
  document.cookie = cookie;
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

只需JSON.parse您的回報:

https://repl.it/KKoF

function setCook(name, value) {
    var cookie = [
        name,
        '=',
        JSON.stringify(value)
    ].join('');
    document.cookie = cookie;
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) === 0) {
            return JSON.parse(
                c.substring(nameEQ.length, c.length)
            );
        }
    }
    return null;
}

setCook('foo', `[
    {
        "qux": "boz"
    },
    {
        "baz": "zot"
    }
]`);
let obj = readCookie('foo');

console.log(obj);

/*
[
    {
        "qux": "boz"
    },
    {
        "baz": "zot"
    }
]
*/

您是在本地文件系統中而不是在服務器上運行此文件嗎? 使用file:///協議瀏覽時,未設置cookie,具體取決於瀏覽器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM