为什么JSON.stringify()没有将数据传递给$.cookie()?

3

这是我得到的代码:

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.stringify()无法与$.cookie()一起工作,尽管我认为它应该可以。我是否做错了什么,如何修复或使其工作?我找到了这个答案,基本上就是我也做的事情,但在我的情况下出现问题。我正在使用这个jQuery cookie插件

为什么不行?to_string != to_sting - Kiruse
1
@Derija93 - 我写了这个作为我尝试过的并且在firebug控制台中检查通过的例子。我在这里打错了一个字,现在已经修复了。 - tkit
1个回答

4

我甚至没有考虑过那个... 我想我得想出一个不同的方法。谢谢。 - tkit
我只是在运行一些测试来验证这是否是正确的答案,但你比我更快。 - ChaosPandion
1
@pootzko 我建议你研究一下 localStorage。它的工作方式基本相同,只是存储不会发送到服务器。因此,你可能不必担心大小限制。 - Kiruse

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接