【问题标题】:Saving Array in Cookie and Restoring Javascript在 Cookie 中保存数组并恢复 Javascript
【发布时间】:2018-09-29 07:54:53
【问题描述】:

我正在尝试保存一个数组并使用 Cookie 在另一个页面上恢复它。

这是我在第 1 页上的代码:

var films = [];
SetCookie("cart", films);

通过购物车上的按钮将值放入电影中,它存储值,例如《星球大战》、《生化危机》。

在警报时存储:星球大战,生化危机

这是我在第 2 页上的代码:

function getMovie2() {
  var movie = [];
  movie = (GetCookie("cart"));

  var r = movie.length;
  alert(r);

  $("#table1").empty();

  for (var i = 0; i < r; i += 1) {
    $("#table1").append("<tr><td>" + movie[i] + "</td><td>");
  }
}

我从中得到的长度是针对每个字符,而不是数组中的事物数量。

我哪里错了?我正在尝试将数组存储在 Cookie 中,然后检索它并将其保存在数组中。

【问题讨论】:

  • 我已经尝试过他的方法,但它似乎不适合我
  • 好吧,修改你的代码,把数组编码成字符串,然后我们可以看看
  • 如果您将数组转换为 json,但您的代码仍然无法运行,那么您可能已经达到 4k 的最大 cookie 长度,并且应该在服务器端跟踪数组。
  • 好吧,我想我上次尝试出了点问题,似乎又在用 JSON 工作了。无论如何,谢谢你让我知道这只能使用 JSON,我是新手,不知道我不能只存储数组。

标签: javascript


【解决方案1】:

Cookies 只能存储字符串。您需要制作数组的 JSON 并将 jsoned 字符串分配给 cookie

【讨论】:

  • 这不是真正的答案,而是评论。
  • 他不能为所欲为。他需要 json 字符串。我认为这是一个非常简单的答案
  • 正确答案是对问题的具体回答,而不仅仅是想法。
  • 也许 SetCookie()GetCookie() 做这个编码。
【解决方案2】:

你可能想做这样的事情:

localStorage.stuff = JSON.stringify(['a', 'b', 2]);
console.log(JSON.parse(localStorage.stuff));

【讨论】:

    猜你喜欢
    • 2020-02-12
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    相关资源
    最近更新 更多