PHPで、クッキーは設定しているのですが、削除するときは画面転移したくないため、js側で削除するのは処理としておかしいでしょうか?
Cookieの用途によります。
セッションクッキー(httpOnly を含めたCookie)の場合は、サーバー側がクレデンシャル(ユーザアカウントに紐づく情報)とともに発行する情報ですので、JavaScriptでは変更できません。
(黎明期のブラウザはできましたが、セッションハイジャックを防止するために出来なくなっています)
removeCookieですと、クッキー名の値のデータは全て削除されてしまいます、こちらを「プロジェクト3」のみ削除等、クッキー名の中の一部のみ削除したいです
Cookie による保存は発行処理で行います。
- 期限切れ情報として発行する。(削除)
- 新しい期限で発行する。(更新)
という方法で制御する必要があります。
「プロジェクト3」を削除した情報で更新をかけることになります。
追記)
jquery.cookie.js usage
- $.cookie() .. 取得/保存(更新
expires: 7
のように指定すると、期限延長になる)
- $.removeCookie() ... 削除
javascript
1// cookie 名 を 'name' とする例
2var val = $.cookie('name');
3
4var neo = /* omitted : val とは異なる情報 */
5$.cookie('name', neo, { expires: 7 });
ライブラリで簡便に利用できるCookieですが、その仕組みはHTTPヘッダ(Set-Cookie / Cookie)を用いたもので、所定のフォーマットがあります。
MDN HTTP Cookies