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