簡體   English   中英

我如何讀取使用jquery.cookie保存在cookie中的數組?

[英]how could I can I read an array I save in a cookie with jquery.cookie?

我正在使用jquery.cookie( https://github.com/carhartl/jquery-cookie/tree/v1.4.1 )並且我遇到了很多問題,我正在嘗試保存此結構的數組

var obj = {
    'row1' : {
        'key1' : 'input1',
        'key2' : 'inpu2'
    },
    'row2' : {
        'key3' : 'input3',
        'key4' : 'input4'
    }
};

但是當我想讀它的時候

row1%5Bkey1%5D=input1&row1%5Bkey2%5D=inpu2&row2%5Bkey3%5D=input3&row2%5Bkey4%5D=input4

我以這種方式發送:

$.cookie('listresult', $.param(obj), { expires: 10 });

最糟糕的是,有時可行,有時卻沒有,所以,我不知道出了什么問題……知道如何發送和轉換數據嗎?

要閱讀它,我用這個

var cookieValue = $.cookie("listresult");

當我嘗試這個...不起作用

$.parseJSON($.cookie("listresult");)

謝謝

您不應該使用jquery.param方法。 它旨在與HTTP(AJAX)請求一起使用,因此情況並非如此。 您必須在編寫Cookie時使用JSON.stringify ,在閱讀時必須使用JSON.parse

// write (save):
$.cookie('listresult', JSON.stringify(obj), { expires: 10 });

// read (restore):
var obj = JSON.parse($.cookie('listresult'));

如果您仔細閱讀jQuery插件手冊,將會發現:

JSON

打開作為cookie值傳遞的JSON對象的自動存儲。 假設JSON.stringify和JSON.parse:

$ .cookie.json = true;

這樣,當您設置整個cookie時,您的JavaScript對象將被序列化為JSON,而當您檢索該cookie時,它們將再次被反序列化為JavaScript。

暫無
暫無

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

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