###前提
cookie保存について、プラグイン「cookie.js」を使っています。
配列のために「$.cookie.json = true;」(以下「JSON化」)を書いてJSONを保存しているのですが、困ったことに普通に下記のような文字列までが変換されまい、部分的に適用することができないように思われます。
js
1$(window).on("beforeunload",function(e){ 2 $.cookie( 'alphabet', 'abc', { expires: 365, path:'/'} ); 3}); 4 5// こうなる 6// %22abc%22
でこの仕様について質問です。下記ざっくり➂つもあって恐縮ですが、ご見解をお聞かせ願えませんでしょうか?
###質問➀
なぜ「JSON化」を書かないときは「abcという文字列」(abc)が保存されるのに、
書くと「"abc"という文字列をURIエンコードした文字列」(%22abc%22)が保存されるのでしょうか?
「"」が入る理由と、それがURIエンコードされて「%22」になる理由が知りたいです。
###質問➁
なぜ文字列のときは➀のように「URIエンコード」されるのに、配列のときは「JSONエンコード」されるのでしょうか?
###質問➂
みなさん実際にどう使っていますか?
・「JSON化」は使わずに、その都度「JSON.parse()」や「JSON.stringify()」を使う。
・文字列も含めていったんすべて「JSON化」の対象にして、PHPで使うときはその都度「urldecode()」を使う。
・その他あればぜひお願いします。