首頁 >web前端 >js教程 >JS實作頁面跳轉參數不遺失的方法

JS實作頁面跳轉參數不遺失的方法

高洛峰
高洛峰原創
2016-12-03 16:54:561491瀏覽

本文實例講述了JS實作頁面跳轉參數不遺失的方法。分享給大家供大家參考,具體如下:

需求:頁面編輯後,返回列表頁面,參數不丟失,能夠記住頁數以及篩選條件。

我堅信,不管白貓黑貓,能捉到耗子的就是好貓,當然如果能夠高效的,簡單的處理最好。

我的思路就是,把列表頁面位址當作參數傳遞過去。

這裡就會面臨一個問題,url本身就是由多個參數組成的,這樣純粹的傳遞,就會出問題,參數丟失。

所以要對url進行加密。

escape()、encodeURI()、encodeURIComponent()

JavaScript中有三個可以對字串編碼的函數,分別是: escape,encodeURI,encodeURIComponent,對應3個解碼函數:unescape,decodeURIdecodeURIon,ment。

escape()除了 ASCII 字母、數字和特定的符號外,對傳進來的字串全部進行轉義編碼,因此如果想對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;

這樣就能實現,參數不丟失了。主要就是頁碼和篩選條件。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn