2013-08-28 10 views
19

मेरे पास मेरी जेएस फ़ाइल में दो कुकीज़ हैं और मैं उन्हें हटाना चाहता हूं।jquery का उपयोग कर कुकी को हटाएं

मैं नीचे दिए गए कोड की कोशिश की है, लेकिन यह काम नहीं कर रहा

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

मैं भी अशक्त कुकीज़ के लिए नीचे की कोशिश की है, लेकिन यह भी काम नहीं कर रहा है।

मदद

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

आप कुकी प्लगइन शामिल है? jQuery में डिफ़ॉल्ट रूप से कोई 'कुकी' और 'हटाएं कुकी' विधियां नहीं हैं। – kapa

उत्तर

41

यह क्या पथ अपने कुकी उपयोग कर रहा है पर निर्भर कर सकते के लिए धन्यवाद। यदि आपको क्रोम डेवलपर टूल मिल गया है और संसाधन> कुकीज़> पथ के अंतर्गत पथ कॉलम की जांच करें।

enter image description here

आप अपने बजाय पथ /Home/ के लिए सामान्य / का उपयोग किया जा सकता है। कोशिश के नीचे कोड दें। jQuery अशक्त करने के लिए मान सेट के साथ

एक कुकी हटाने के लिए:

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

मैं विशिष्ट पेज का उपयोग कर रहा हूं उदाहरण के लिए। होम पेज तो उस –

+0

में होम का उपयोग करें क्या आपने क्रोम डेवलपर टूल की जांच की है? संसाधन> कुकीज़> पथ? – Mark

+0

हां जांचें, यह/home/ –

5

आप $ .cookie ("नाम", नल) का प्रयास किया था;

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

हाँ $। कुकी ("नाम", शून्य); –

+0

$ .removeCookie – Ravia

+0

धन्यवाद @ रिविया संकेत के लिए धन्यवाद ... यह कमाल काम किया! जवाब के रूप में चिह्नित किया जाना चाहिए –

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 कुकीज़। सबसे हालिया संस्करण उस सैनिटी चेक को भी नहीं करता है।

या आप में जोड़ने के लिए तैयार दस्तावेज़

$.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 }); 
संबंधित मुद्दे