jQuery를 사용하여 쿠키를 삭제하고 싶습니다. 나는 이것을 시도했다 :
$.cookie('name', '', { expires: -1 });
그러나 페이지를 새로 고치면 쿠키가 여전히 있습니다.
alert('name:' +$.cookie('name'));
왜?
답변
JQuery로 쿠키를 삭제하려면 값을 null로 설정하십시오.
$.cookie("name", null, { path: '/' });
편집 : 최종 해결책은 path
OP가 다른 디렉토리의 여러 페이지에서 쿠키에 액세스하므로 기본 경로가 다르기 때문에 쿠키에 액세스 할 때마다 속성 을 명시 적으로 지정하는 것이 었습니다 (원래 질문에 설명되어 있지 않음). 해결책은 아래 토론에서 발견되었으며, 이는 정확하지 않음에도 불구하고이 답변이 수락 된 이유를 설명합니다.
일부 버전 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:'/'})
답변
당신이하고있는 일이 옳고, 문제는 다른 곳에 있습니다. 예를 들어, 쿠키가 새로 고쳐질 때 어떻게 든 다시 설정됩니다.