ブラウザ側でcookieを操作したくなり、jquery.cookieを使ってみてはまったこと。
サーバ側:CakePHPのCookieコンポーネントで記述
$this->Cookie->write('hoge', 'hogehoge', false, (60 * 60 * 24 * 30));
ブラウザ側:jquery.cookieを使って読み取り+書き込み
var val = $.cookie('CakeCookie[hoge]'); val = val + 'hoge'; console.log(val); $.cookie('hoge', val);
これで動かすと・・何度実行させてもコンソール上には、
hogehogehoge
しか表示されません。。
Firebugでじっくり見ていると、ブラウザ側の実行するタイミングで、CakeCookie[hoge]が2つになりました。
そう、jquery.cookieでは何も指定しないと実行パスが自動的に設定されていました。
読み込みはできるのに書き込みはなぜ・・読み込めなければ単純なのに、、と、思いつつ、、
var val = $.cookie('CakeCookie[hoge]'); val = val + 'hoge'; console.log(val); $.cookie('hoge', val, {path : "/"});
こちらで、解決。相変わらず未熟さを感じたのでした。