>  기사  >  웹 프론트엔드  >  자바스크립트에서 쿠키 읽기, 쓰기, 삭제 작업 예제에 대한 자세한 설명

자바스크립트에서 쿠키 읽기, 쓰기, 삭제 작업 예제에 대한 자세한 설명

零下一度
零下一度원래의
2017-04-19 15:58:441111검색

이 글은 주로 자바스크립트에서 쿠키 읽기, 쓰기, 삭제 작업에 대한 관련 정보를 소개합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

자바스크립트에서 쿠키 읽기, 쓰기, 삭제 작업

서문:

프런트 엔드가 만연할 때 페이지 간 상호 작용에는 데이터 전송이 필요하며 일부 데이터는 URL을 통해 매개 변수를 전달하면 잘 해결될 수 있지만 페이지 A에서 페이지 B로 데이터를 선택한 다음 페이지 B에서 페이지 A로 데이터를 전송하는 경우(일반적인 예는 배송 주소 선택) 변경해야 하는 일부 매개변수입니다. 이 부분에서는 해결 방법을 사용합니다. 쿠키를 저장합니다.

쿠키의 작동을 위해 간단한 캡슐화를 해봤습니다. 물론 선배님들의 경험을 살려서 직접 조합한 것도 있지만, 쿠키의 작동은 읽기, 쓰기, 삭제에 지나지 않습니다. 먼저 쓰기를 살펴보세요. 작업에는 쓰기와 읽기가 포함되며 삭제 및 기타 작업이 수행될 수 있습니다.


/**
 * 设置COOKIE
 * @param name 设置cookie的属性名
 * @param value 设置cookie的属性值
 * @param time  设置cookie的时间
 */

function setCookie(name, value , time) {
  time = time ? parseFloat(time) : 0 ;
  var exp = new Date();
  exp.setTime(exp.getTime() + time);
  // escape 这种编码方式过时了 改用 encodeURIComponent
  // document.cookie = name + "=" + escape(value) + ";expires=" + (time ? exp.toGMTString() : 'session');
  document.cookie = name + "=" + encodeURIComponent(value) + ";expires=" + (time ? exp.toGMTString() : 'session');
}

이제 쓰기 작업이 끝났으니 읽기 작업을 살펴보겠습니다.


/**
 * 获取cookie
 * @param name
 * @returns {null}
 */

function getCookie(name) {
  var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
  if (arr = document.cookie.match(reg))
    //unescape这种解码方式好像过时了,可以采用decodeURIComponent解码方式
    //return unescape(arr[2]);
     return decodeURIComponent(arr[2]);
  else
    return null;
}

다음 단계는 쿠키를 삭제하는 것입니다. 사실 이 작업은 매우 간단합니다. 쿠키가 만료되도록 설정하면 쿠키가 자동으로 만료됩니다.


/**
 * 删除cookie
 * @param name
 */

function delCookie(name) {
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval = getCookie(name);
  if (cval != null)
    document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}

위는 쿠키에 대한 몇 가지 간단한 작업입니다

다음으로 쿠키에 대한 심층적인 문제에 대해 이야기하겠습니다: 크로스 도메인 쿠키


아아아

위 내용은 자바스크립트에서 쿠키 읽기, 쓰기, 삭제 작업 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.