Re: [問題] 怎麼用jquery寫入cookie陣列
※ 引述《knives ()》之銘言:
: 我查到jquery可以用
: $.cookie('name', 'test',{expires: 7});
: 寫入cookie
: 那如果我的cookie是一個陣列的話
: 要對那個陣列做新增 移除 項目的話,又該怎麼做呢
: 我有google過,大部份的做法
: 都是先把原來的cookie抓出來,轉成List 再去做add remove
: 再存回去
: 請問除了這樣,還有更直覺的方法嗎
: 謝謝回答
由於每個瀏覽器 cookie 有最大數量的限制,所以把陣列資料轉成字串
存入 cookie 的方式比較有可能,而且每個 cookie 也有長度限制(約4096)
如果能先確定資料一定不會出現「某個字元」時,可以把它當成陣列串接
的字元
//存入
var data = ['資料1','資料2','資料3'];
$.cookie('data',data.join('#'),{expires: 3600});
//讀取
var data = $.cookie('data').split('#');
另外一種方式,就是以物件進行JSON encode,這種可以不用考慮字元的問題
var config = {
"opt1": 123,
"opt2": "test"
}
//存入
$.cookie('config',JSON.stringify(config),{expires:3600});
//讀取
var config = JSON.parse($.cookie('config'));
正常來講,後者的方式會比較好,但要注意encode的物件,字串長度是否過長
可以把每個 cookie 當成微小型的資料表,不同類型的資料表最好能拆成多個
cookie 檔,避免長度過大爆掉
之前的拙作就是用 cookie 去記錄每個 user 的熟練記錄資料
http://liaosankai.com/50yin
以上驗經供你參考
--
歡迎來我的網誌看看
@ http://liaosankai.pixnet.net/blog
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.71.188.102
推
12/24 16:24, , 1F
12/24 16:24, 1F
推
12/24 21:45, , 2F
12/24 21:45, 2F
→
12/24 21:45, , 3F
12/24 21:45, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章