現象
ちょっと特殊な状況ですが、
hoge[fuga]
というキーに 1
が入っているとする
うまく動かない例
console.log($.cookie('hoge[fuga]')); // undefined
なぜ?
hoge[fuga]
が、内部で encodeURIComponent
されて
hoge%5bfuga%5d
と解釈されてしまっているから。
FYI: carhart/jquery-cookie - README
解決策
$.cookie.raw = true
を使う
$.cookie.raw = true
console.log($.cookie('hoge[fuga]')); // 1
リンク
個人的な感想
普段あまり意識していなかっただけにハマった…。