이 기사의 예에서는 페이지 점프 매개변수를 잃지 않고 달성하는 JS 방법을 설명합니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
요구 사항: 페이지를 편집한 후 목록 페이지로 돌아가면 매개변수가 손실되지 않고 페이지 수와 필터링 조건을 기억할 수 있습니다. .
흰 고양이든 검은 고양이든 쥐를 잘 잡는 고양이는 물론 효율적이고 간단하게 다룰 수 있는 고양이가 가장 좋다고 굳게 믿습니다.
목록 페이지 주소를 매개변수로 전달하는 것이 제 생각입니다.
여기서 문제가 발생합니다. URL 자체가 여러 매개변수로 구성되어 있으므로 순전히 이렇게 전달하면 문제가 발생하고 매개변수가 손실됩니다.
따라서 URL을 암호화해야 합니다.
escape(), encodeURI(), encodeURIComponent()
JavaScript에는 문자열을 인코딩할 수 있는 세 가지 함수, 즉 escape, encodeURI, encodeURIComponent 및 해당하는 세 가지 디코딩 함수인 unescape가 있습니다. ,decodeURI,decodeURIComponent.
ASCII 문자, 숫자, 특정 기호를 제외한 escape()는 들어오는 문자열을 모두 이스케이프하므로 URL을 인코딩하려는 경우에는 이 방법을 사용하지 않는 것이 가장 좋습니다. 그리고 encodeURI()는 전체 URI를 인코딩하는 데 사용됩니다. 왜냐하면 URI의 합법적인 문자는 인코딩 및 변환되지 않기 때문입니다. encodeURIComponent 메소드는 단일 URIComponent(요청 매개변수 참조)를 인코딩할 때 가장 일반적으로 사용되어야 합니다. 이는 전체 URL에 영향을 주지 않고 매개변수의 중국어 및 특수 문자를 이스케이프할 수 있습니다.
테스트 결과, encodeURIComponent 메소드가 이 문제를 매우 잘 해결할 수 있는 것으로 나타났습니다.
1. URL을 설정합니다
// 设置当前url var list_url = '/document/order/default.php?page=' + page_nums + '&'+ $("#form1").serialize(); var e_list_url = encodeURIComponent(list_url); $("#list_url").val(e_list_url);
2. URL을 전달합니다
var list_url = $('#list_url').val(); window.location.href='/document/order/view.php?order_id='+order_id+'&action=edit&handler=admin&list_url='+list_url;
3. URL을 구문 분석하고 이동합니다
var list_url = '<?php echo $list_url;?>'; d_list_url = decodeURIComponent(list_url); window.location.href = d_list_url;
이렇게 하면 실현할 수 있으며 매개변수가 손실되지 않습니다. 주요한 것은 페이지 번호와 필터 조건입니다.