2013-08-28 16 views
19

JSファイルに2つのCookieがあり、削除したいと考えています。jqueryが動作しないCookieを削除する

私は以下のコードを試してみましたが、それは

$.removeCookie('filter', { path: '/Home/' }); 
$.removeCookie('Pfilter', { path: '/Home/' }); 

が動作していない私はまた、ヌルクッキーについては、以下を試してみましたが、これも機能していません。それはあなたのクッキーが使用しているパスに依存する場合がありますヘルプ

$.cookie('filter',null, { path: '/Home/' }); 
+3

をあなたはクッキーのプラグインが含まれていますか? jQueryにはデフォルトで 'cookie'と' removeCookie'メソッドはありません。 – kapa

答えて

41

ため

感謝。 Chrome開発者ツールにアクセスして、[リソース]> [Cookie]> [パス]の下にあるパスの列を確認します。

enter image description here

あなたは、パスの代わりに、/Home/のための一般的な/を使用している場合があります。以下のコードを試してみてください。 jQueryを使ってクッキーを削除するには

はnullに値を設定します。

$.removeCookie('filter', { path: '/' }); 
+0

私は特定のページを使用しています。ホームページにそのホームを使用する –

+0

クローム開発ツールをチェックしましたか?リソース> Cookie>パス? – Mark

+0

yes check、/ home/ –

5

ます(nullの "名前"、) の$ .cookieを試してみました。

それを削除する前にnullにクッキーを設定している何私の作品
$.removeCookie('filter', { path: '/' }); 
+1

はい$ .cookie( "name"、null); –

+0

try $ .removeCookie – Ravia

+0

ヒントのための@Raviaに感謝...それは素晴らしい仕事!答えとしてマークする必要があります –

2

$.cookie("filter", null); $.removeCookie("filter);

0

私はjQueryのバージョン1.7.1とjQueryのクッキーバージョン1.4.1

と同じ問題を抱えていましたこれは私を夢中にさせていたので、私はソースコードに飛び込むことにしました。何が間違っているのか分かりました。ここで

は、機能チェックがクッキーが、それはオプションは、アカウントにオブジェクトをとらない存在するかどうときあなたが見ることができるように$ .removeCookie

$.removeCookie = function (key, options) { 
    if ($.cookie(key) === undefined) { // this line is the problem 
     return false; 
    } 

    // Must not alter options, thus extending a fresh object... 
    $.cookie(key, '', $.extend({}, options, { expires: -1 })); 
    return !$.cookie(key); 
}; 

の定義です。したがって、あなたが削除しようとしているクッキーとは別のパスにいる場合、その関数は失敗します。

いくつかのソリューション:

アップグレードJquery Cookies。最新バージョンではサニティチェックさえしていません。

またはあなたにこれを追加するには

$.removeCookie = function (key, options) { 
    if ($.cookie(key, options) === undefined) { // this line is the fix 
     return false; 
    } 

    // Must not alter options, thus extending a fresh object... 
    $.cookie(key, '', $.extend({}, options, { expires: -1 })); 
    return !$.cookie(key); 
}; 

とき、または削除するクッキーはこのような何か準備を文書化:

$.cookie('cookie-name', '', { path: '/my/path', expires:-1 }); 
関連する問題