> 웹 프론트엔드 > JS 튜토리얼 > 페이지 점프 매개변수를 잃지 않고 실현하는 JS 방법

페이지 점프 매개변수를 잃지 않고 실현하는 JS 방법

高洛峰
풀어 주다: 2016-12-03 16:54:56
원래의
1467명이 탐색했습니다.

이 기사의 예에서는 페이지 점프 매개변수를 잃지 않고 달성하는 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 = &#39;<?php echo $list_url;?>&#39;;
d_list_url = decodeURIComponent(list_url);
window.location.href = d_list_url;
로그인 후 복사

이렇게 하면 실현할 수 있으며 매개변수가 손실되지 않습니다. 주요한 것은 페이지 번호와 필터 조건입니다.


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