【问题标题】:Why isn't JSON.stringify() passing the data to $.cookie()为什么 JSON.stringify() 不将数据传递给 $.cookie()
【发布时间】:2012-08-08 18:08:44
【问题描述】:

这是我得到的代码:

var tmp_kana_type = "hiragana";
var tmp_kana_set = "monographs";

cookie_symbols = {"symbols": []};

for (kana_row=0; kana_row<10; kana_row++) {
    for (kana_column=0; kana_column<5; kana_column++) {

        var tmp_JSON  = {
                "kana_type": tmp_kana_type,
                "kana_set": tmp_kana_set,
                "kana_row": kana_row,
                "kana_column": kana_column,
                "selected": 0,
                "correct": 0,
                "total": 0
        };

        cookie_symbols.symbols.push(tmp_JSON);
    }
}

console.log(cookie_symbols); // works

var to_string = JSON.stringify(cookie_symbols);
console.log(to_string); // works

var to_json = JSON.parse(to_string);
console.log(to_json); // works



$.cookie("test_cookie1", "test string"); 
console.log($.cookie("test_cookie1")); // works

$.cookie("test_cookie2", JSON.stringify(cookie_symbols)); // does not work (why?)
console.log($.cookie("test_cookie2")); // does not work (null)
console.log(JSON.parse($.cookie("test_cookie2"))); // does not work (null)

JSON.stringfy() 不能与 $.cookie() 一起使用,而我认为它应该。我做错了什么,我该如何解决或使这项工作正常进行?我找到了this answer,这几乎也是我所做的,但就我而言,由于某种原因它不起作用。我正在使用this jQuery cookie plugin

【问题讨论】:

  • 为什么不呢? to_string != to_sting.
  • @Derija93 - 我写了这个作为我尝试过的例子以及在萤火虫控制台中检查它时的工作原理。我在这里打错了,现在改正了。

标签: jquery json cookies stringify


【解决方案1】:

我认为你的主要问题是你已经超过了maximum cookie file size

【讨论】:

  • 我什至没有考虑过...我想我必须考虑另一种方法。谢谢。
  • 我只是在运行一些测试来验证这是不是正确的答案,但你打败了我。
  • @pootzko 我建议查看localStorage。它基本上以相同的方式工作,只是存储不发送到服务器。因此,您可能不必担心尺寸限制。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-12
  • 2015-09-09
  • 1970-01-01
  • 1970-01-01
  • 2012-04-04
  • 1970-01-01
相关资源
最近更新 更多