JQueryを使用してCookieを削除したい。私はこれを試しました
$.cookie('name', '', { expires: -1 });
次に、ページを更新してもCookieはまだそこにあります。
alert('name:' +$.cookie('name'));
どうして?ありがとう
JQueryを使用してCookieを削除したい。私はこれを試しました
$.cookie('name', '', { expires: -1 });
次に、ページを更新してもCookieはまだそこにあります。
alert('name:' +$.cookie('name'));
どうして?ありがとう
回答:
JQueryでCookieを削除するには、値をnullに設定します。
$.cookie("name", null, { path: '/' });
編集:path
OPが異なるディレクトリの複数のページからCookieにアクセスし、デフォルトのパスが異なるため、Cookieにアクセスするたびにプロパティを明示的に指定することが最終的な解決策でした(これは元の質問では説明されていませんでした)。ソリューションは以下のディスカッションで発見されました。これは、この答えが正しくなかったにもかかわらず受け入れられた理由を説明しています。
一部のバージョンのjQ Cookieでは、上記のソリューションはCookieを文字列nullに設定します。したがって、Cookieは削除されません。代わりに、下記のコードを使用してください。
$.removeCookie('the_cookie', { path: '/' });
if (value === null) { value = '';options.expires = -1;}
、彼らは同じことを行うことになっているので、何が、処理関数内部に入ること。(パラメーターは(name, value, options)
)
path
デフォルトで現在のページのパスに設定されるため、両方のコマンドのオプションでを明示的に設定する必要があります。:クッキーを読み書きされるすべての場所で、両方のドメインのルートに設定することにより、テスト$.cookie('name', value, {path:'/'})
$.removeCookie('cookie_name')
します。
あなたはこれを試すことができます:
$.removeCookie('the_cookie', { path: '/' });
が設定されたときにのみ私のために働いたpath
、すなわち:
$.cookie('name', null, {path:'/'})
あなたがやっていることは正しいです、問題はどこか別のところにあります。例えば、リフレッシュ時にクッキーがどういうわけか再び設定されています。