페이지 로드 간 변수 유지
HTTP는 상태 비저장이므로 페이지를 다시 로드할 때 값을 유지하려면 외부 저장소가 필요합니다. 이 제한을 극복하는 방법은 다음과 같습니다.
쿼리 문자열
GET을 통해 양식을 제출할 때 쿼리 문자열(?parameter=value)은 양식 필드 데이터를 전달합니다. 그에 따라 숨겨진 필드의 값을 설정합니다.
<form method="GET"> <input type="hidden" name="clicked" value="true" /> <input type="submit" /> </form>
페이지 로드 시 쿼리 매개변수를 추출합니다.
function getParameterByName(name) { var regex = new RegExp("[\?&]" + name + "=([^&#]*)"), results = regex.exec(location.search); return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); } var clicked = getParameterByName('clicked');
웹 저장소
HTML5는 다음을 제공합니다. 웹 스토리지: 브라우저 기반 데이터 저장이 가능합니다. SessionStorage는 현재 탐색 세션 동안에만 데이터를 저장합니다.
sessionStorage.setItem('clicked', 'true');
페이지 로드 시 저장된 값 검색:
var clicked = sessionStorage.getItem('clicked');
쿠키
쿠키는 주로 서버측 데이터 저장에 사용되지만 클라이언트측 저장에도 활용될 수 있습니다. jQuery는 쿠키 관리를 단순화합니다.
$.cookie('clicked', 'true', {expires: 1}); // expires in 1 day
페이지 로드 시 쿠키를 읽으려면:
var clicked = $.cookie('clicked');
더 이상 필요하지 않은 경우 쿠키 설정을 취소해야 합니다.
$.cookie('clicked', null);
Window.name
권장하지는 않지만, window.name은 페이지 새로 고침 및 도메인 전반에 걸쳐 문자열을 저장할 수 있습니다.
window.name = "my value";
페이지 로드 시 저장된 값에 액세스합니다.
var value = window.name;
위 내용은 상태 비저장 HTTP 환경에서 페이지 로드 전반에 걸쳐 변수를 어떻게 유지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!