この記事の例では、ページ ジャンプ パラメーターを失わずに実現するための JS メソッドについて説明します。参考のためにみんなと共有してください。詳細は次のとおりです:
要件: ページを編集した後、リストページに戻ります。パラメータは失われず、ページ数とフィルタリング条件を記憶できます。
白猫でも黒猫でも、ネズミを捕まえられる猫は上手な猫だと信じています。もちろん、効率よく簡単に扱えるのが一番です。
私のアイデアは、リストページのアドレスをパラメータとして渡すことです。
ここで問題が発生します。URL 自体が複数のパラメーターで構成されているため、そのまま渡すと問題が発生し、パラメーターが失われます。
そのため、URL は暗号化する必要があります。
escape()、encodeURI()、encodeURIComponent()
JavaScript には、文字列をエンコードできる 3 つの関数、つまり、escape、encodeURI、encodeURIComponent、および対応する 3 つのデコード関数、unescape、decodeURI、decodeURIComponent があります。
escape() は、ASCII 文字、数字、特定の記号を除き、すべての受信文字列をエスケープします。そのため、URL をエンコードする場合は、このメソッドを使用しないことをお勧めします。また、URI 内の有効な文字はエンコードおよび変換されないため、encodeURI() を使用して 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;
これはパラメータを失うことなく実現できます。主なものはページ番号とフィルター条件です。