Re: [問題] 怎麼用jquery寫入cookie陣列

看板Ajax作者 (低溫烘焙)時間12年前 (2012/12/24 16:23), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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
html5的web stoarge不知道有沒有搞頭
12/24 21:45, 2F

12/24 21:45, , 3F
storage*
12/24 21:45, 3F
文章代碼(AID): #1Gs144l9 (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1Gs144l9 (Ajax)