[jquery] jQuery를 사용하여 쿠키를 삭제하는 방법은 무엇입니까?

jQuery를 사용하여 쿠키를 삭제하고 싶습니다. 나는 이것을 시도했다 :

$.cookie('name', '', { expires: -1 });

그러나 페이지를 새로 고치면 쿠키가 여전히 있습니다.

alert('name:' +$.cookie('name'));

왜?



답변

JQuery로 쿠키를 삭제하려면 값을 null로 설정하십시오.

$.cookie("name", null, { path: '/' });

편집 : 최종 해결책은 pathOP가 다른 디렉토리의 여러 페이지에서 쿠키에 액세스하므로 기본 경로가 다르기 때문에 쿠키에 액세스 할 때마다 속성 을 명시 적으로 지정하는 것이 었습니다 (원래 질문에 설명되어 있지 않음). 해결책은 아래 토론에서 발견되었으며, 이는 정확하지 않음에도 불구하고이 답변이 수락 된 이유를 설명합니다.

일부 버전 jQ 쿠키의 경우 위의 솔루션은 쿠키를 문자열 null로 설정합니다. 따라서 쿠키를 제거하지 않습니다. 대신 아래 제안 된 코드를 사용하십시오.

$.removeCookie('the_cookie', { path: '/' });


답변

이것을 시도 할 수 있습니다.

$.removeCookie('the_cookie', { path: '/' });

출처 : https://github.com/carhartl/jquery-cookie#readme


답변

jquery.cookie 플러그인을 사용하지 않고 쿠키를 삭제할 수도 있습니다.

document.cookie = 'NAMEOFYOURCOOKIE' + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';


답변

쿠키에 대한 오해의 문제입니다. 브라우저는 키뿐만 아니라 옵션 경로 및 도메인을 비교하는 쿠키 값을 인식합니다. 따라서 브라우저는 서버 설정 옵션 (path = ‘/’; domain = ‘mydomain.com’)으로 키가 ‘name’이고 키가 옵션없이 ‘name’인 쿠키 값을 다른 값으로 인식합니다.


답변

이 시도

 $.cookie('_cookieName', null, { path: '/' });

{경로 : ‘/’}가 작업을 수행합니다.


답변

설정된 경우 에만 나를 위해 일했습니다 path.

$.cookie('name', null, {path:'/'})


답변

당신이하고있는 일이 옳고, 문제는 다른 곳에 있습니다. 예를 들어, 쿠키가 새로 고쳐질 때 어떻게 든 다시 설정됩니다.