【问题标题】:How to save jquery array in browser cookie?如何在浏览器cookie中保存jquery数组?
【发布时间】:2016-08-10 08:39:03
【问题描述】:

我有这样的 jquery 数组:

[1: "0", 2: "0,1,2,3"]

我想将其保存在浏览器 cookie 中。但据我所知,只有字符串可以保存在浏览器 cookie 中。所以我必须将此 jquery 数组转换为字符串,然后保存在 cookie 中。有没有办法做到这一点?

【问题讨论】:

标签: jquery cookies


【解决方案1】:

[1: "0", 2: "0,1,2,3"] 这不是数组,写错了; {1: "0", 2: "0,1,2,3"} 如果这样写,它是一个对象,所以你可以这样:

var target = {1: "0", 2: "0,1,2,3"};
for(let name in target){
  document.cookie = name + "=" +  target[name];
}

【讨论】:

    【解决方案2】:

    Cookie 只能存储字符串。因此,您需要将数组转换为 JSON 字符串。如果您有 JSON 库,您可以简单地使用 JSON.stringify(data) 并将其存储在 cookie 中,然后使用 $.parseJSON(data) 取消字符串化。

    最后,您的代码将如下所示:

    var data = [
       { 'name' : 'Abel', 'age' : 1 },
       { 'name' : 'Bella', 'age' : 2 },
       { 'name' : 'Chad', 'age' : 3 },
    ];
    
    $.cookie("data", JSON.stringify(data));
    // later on if you need to add any element...
    var data = $.parseJSON($.cookie("data"));
    data.push(
        { 'name' : 'Daniel', 'age' : 4 }
    );
    $.cookie("data", JSON.stringify(data));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-27
      • 2012-01-22
      • 2021-03-09
      • 2021-07-05
      • 2018-05-19
      • 2019-11-04
      相关资源
      最近更新 更多