JavaScript의 쿠키 획득 및 쿠키 삭제에 대한 자세한 설명

小云云
풀어 주다: 2017-12-12 14:29:24
원래의
2064명이 탐색했습니다.

쿠키는 때로는 복수형으로도 사용됩니다. 쿠키는 사용자의 신원을 식별하고 세션 추적을 수행하기 위해 일부 웹사이트에서 사용자의 로컬 단말기에 저장한 데이터(일반적으로 암호화됨)를 참조합니다. 이 기사에서는 쿠키를 얻고 쿠키를 삭제하는 JavaScript에 대한 지식을 공유하여 모든 사람에게 도움이 되기를 바랍니다.

쿠키는 어디에 있나요?

document.cookie에 존재하는

쿠키는 어떻게 생겼나요?

Cookie는 다음과 같은 문자열입니다:
"name=xxx; age=22;"

참고: 세미콜론 뒤에 공백이 있습니다. 다음 코드는 특별한 주의가 필요합니다.

키 이름을 기반으로 쿠키를 얻으려면 어떻게 해야 하나요?

<span style="font-size: 16px;">function getCookie(name) {<br>  var value = '; '+ document.cookie;<br>  var parts = value.split('; ' + name + '=');<br>  if(parts.length === 2) {<br>    return parts.pop().split(';').shift();<br>  }<br>}<br></span>
로그인 후 복사
로그인 후 복사

원리 분석:
document.cookie의 현재 값이 다음과 같다고 가정합니다.
<code><span style="font-size: 16px;">myName=xxx; age=22; food=apple;</span>
<span style="font-size: 16px;">var value = '; '+ document.cookie;</span>使其变为<span style="font-size: 16px;">; myName=xxx; age=22; food=apple;</span>
<span style="font-size: 16px;">var parts = value.split('; ' + name + '=');</span> 假设传入的<span style="font-size: 16px;">name</span><span style="font-size: 16px;">age</span>, 那么会根据<span style="font-size: 16px;">; age=</span>分割字符串,分割之后得到的数组为:
<span style="font-size: 16px;">['myName=xxx', '22; food=apple;']</span>
<span style="font-size: 16px;"> if(parts.length === 2)</span>说明根据键名得到了对应的值,<span style="font-size: 16px;">parts.pop()</span>返回的是数组中的最后一项,即<span style="font-size: 16px;">22; food=apple;</span>,然后调用<span style="font-size: 16px;">split(';')</span>得到数组<span style="font-size: 16px;">['22', 'food=apple;']</span>,然后调用<span style="font-size: 16px;">shift()</span>会返回数组的第一项,即22, 即可得到我们想要的值

深思: <span style="font-size: 16px;">var value = '; '+ document.cookie;</span>myName=xxx; age=22; food=apple;

<span style="font-size: 16px;">var value = ';'+ document.cookie;</span>

만들기

<span style="font-size: 16px;">; myName=xxx; age=22; food=apple;<br></span>

parts = value.split('; ' + name + '=');

들어오는 name

<p>age<span style="font-size: 16px;"></span> 그러면 문자열은 </p> <code><h2>; age=<span style="font-size: 16px;"></span> </h2>에 따라 분할됩니다. 분할 후 얻은 배열은

<span style="font-size: 16px;">['myName=xxx', '22; =apple;']<br></span>

3

<span style="font-size: 16px;"> if(parts.length === 2)<strong></strong></span>키 이름을 기준으로 해당 값을 구함을 나타냅니다.

parts .pop()🎜🎜은 배열의 마지막 항목인 🎜🎜22; food=apple;🎜🎜을 반환한 다음 🎜🎜split을 호출합니다. ('; ')🎜🎜배열🎜🎜['22', 'food=apple;']🎜🎜을 가져온 다음 🎜🎜shift()🎜를 호출하세요. 🎜 배열의 첫 번째 항목인 22를 반환하고 원하는 값을 얻을 수 있습니다🎜🎜🎜🎜깊이 생각해보세요: 🎜🎜var value = '+ document.cookie; 🎜🎜 이 코드가 전체 메소드의 핵심입니다. 🎜🎜🎜🎜키 이름에 따라 쿠키를 삭제하고 싶은 경우 어떻게 해야 하나요? 🎜🎜
<span style="font-size: 16px;">function deleteCookie(name) {<br>  document.cookie = name + '=;  expires=Thu, 01 Jan 1970 00:00:01 GMT;'<br>}<br></span>
로그인 후 복사
로그인 후 복사
🎜🎜원리 분석: 🎜쿠키 만료 시간을 현재 시간보다 짧게 설정하면 쿠키가 삭제됩니다. 🎜🎜🎜🎜🎜🎜쿠키는 어디에 있나요? 🎜🎜🎜🎜🎜🎜document.cookie에 존재하는🎜🎜🎜🎜쿠키는 어떻게 생겼나요? 🎜🎜🎜🎜쿠키는 다음과 같은 문자열입니다: 🎜"name=xxx; age=22;"🎜🎜🎜🎜🎜참고: 세미콜론 뒤에 공백이 있습니다. 다음 코드는 특별한 주의가 필요합니다. 🎜🎜

키 이름을 기반으로 쿠키를 얻으려면 어떻게 해야 하나요?

<span style="font-size: 16px;">function getCookie(name) {<br>  var value = '; '+ document.cookie;<br>  var parts = value.split('; ' + name + '=');<br>  if(parts.length === 2) {<br>    return parts.pop().split(';').shift();<br>  }<br>}<br></span>
로그인 후 복사
로그인 후 복사

원리 분석:
document.cookie의 현재 값이 다음과 같다고 가정합니다.
<code><span style="font-size: 16px;">myName=xxx; age=22; food=apple;</span>
<span style="font-size: 16px;">var value = '; '+ document.cookie;</span>使其变为<span style="font-size: 16px;">; myName=xxx; age=22; food=apple;</span>
<span style="font-size: 16px;">var parts = value.split('; ' + name + '=');</span> 假设传入的<span style="font-size: 16px;">name</span><span style="font-size: 16px;">age</span>, 那么会根据<span style="font-size: 16px;">; age=</span>分割字符串,分割之后得到的数组为:
<span style="font-size: 16px;">['myName=xxx', '22; food=apple;']</span>
<span style="font-size: 16px;"> if(parts.length === 2)</span>说明根据键名得到了对应的值,<span style="font-size: 16px;">parts.pop()</span>返回的是数组中的最后一项,即<span style="font-size: 16px;">22; food=apple;</span>,然后调用<span style="font-size: 16px;">split(';')</span>得到数组<span style="font-size: 16px;">['22', 'food=apple;']</span>,然后调用<span style="font-size: 16px;">shift()</span>会返回数组的第一项,即22, 即可得到我们想要的值

深思: <span style="font-size: 16px;">var value = '; '+ document.cookie;</span>myName=xxx; age=22; food=apple;

<span style="font-size: 16px;">var value = ';'+ document.cookie;</span>

만들기

<span style="font-size: 16px;">; myName=xxx; age=22; food=apple;<br></span>

parts = value.split('; ' + name + '=');

전달된

<p>name<a href="//m.sbmmt.com/js-tutorial-379673.html" target="_self"></a></p><p>age<a href="//m.sbmmt.com/mysql-tutorials-378956.html" target="_self"></a>이면 문자열은 </p> <code><p>; age=<a href="//m.sbmmt.com/js-tutorial-375367.html" target="_self"></a></p>에 따라 분할됩니다. 분할 후 얻은 배열은

['myName=xxx', '22; food =apple;']🎜🎜🎜3🎜🎜 if(parts.length === 2)🎜🎜키 이름을 기준으로 해당 값을 구함을 나타냅니다. 🎜🎜parts .pop()🎜🎜은 배열의 마지막 항목인 🎜🎜22; food=apple;🎜🎜을 반환한 다음 🎜🎜을 호출합니다. Split('; ')🎜🎜배열🎜🎜['22', 'food=apple;']🎜🎜을 가져온 다음 🎜🎜shift()를 호출하세요. 🎜🎜 배열의 첫 번째 항목인 22를 반환하면 원하는 값을 얻을 수 있습니다🎜🎜🎜🎜깊이 생각해보세요: 🎜🎜var value = '+ document.cookie; 🎜🎜 이 코드가 전체 메소드의 핵심입니다. 🎜🎜🎜🎜키 이름에 따라 쿠키를 삭제하고 싶은 경우 어떻게 해야 하나요? 🎜🎜
<span style="font-size: 16px;">function deleteCookie(name) {<br>  document.cookie = name + '=;  expires=Thu, 01 Jan 1970 00:00:01 GMT;'<br>}<br></span>
로그인 후 복사
로그인 후 복사
🎜🎜원리 분석: 🎜쿠키 만료 시간을 현재 시간보다 짧게 설정하면 쿠키가 삭제됩니다. 🎜🎜🎜🎜🎜관련 권장 사항: 🎜🎜🎜jQuery에서 쿠키를 사용하는 방법🎜🎜🎜🎜쿠키 속성 및 메서드 분석🎜🎜🎜🎜JavaScript에서 쿠키를 추가하고 삭제하는 기본 작업🎜🎜🎜🎜

위 내용은 JavaScript의 쿠키 획득 및 쿠키 삭제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!