ホームページ >ウェブフロントエンド >jsチュートリアル >ページジャンプパラメータを失わずに実現するJSメソッド

ページジャンプパラメータを失わずに実現するJSメソッド

高洛峰
高洛峰オリジナル
2016-12-03 16:54:561471ブラウズ

この記事の例では、ページ ジャンプ パラメーターを失わずに実現するための 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;

これはパラメータを失うことなく実現できます。主なものはページ番号とフィルター条件です。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。