JS實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)參數(shù)不丟失的方法
本文實(shí)例講述了JS實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)參數(shù)不丟失的方法。分享給大家供大家參考,具體如下:
需求:頁(yè)面編輯后,返回列表頁(yè)面,參數(shù)不丟失,能夠記住頁(yè)數(shù)以及篩選條件。
我堅(jiān)信,不管白貓黑貓,能捉到耗子的就是好貓,當(dāng)然如果能夠高效的,簡(jiǎn)單的處理最好。
我的思路就是,把列表頁(yè)面地址作為參數(shù)傳遞過去。
這里就會(huì)面臨一個(gè)問題,url本身就是由多個(gè)參數(shù)組成的,這樣純粹的傳遞,就會(huì)出問題,參數(shù)丟失。
所以要對(duì)url進(jìn)行加密。
escape()、encodeURI()、encodeURIComponent()
JavaScript中有三個(gè)可以對(duì)字符串編碼的函數(shù),分別是: escape,encodeURI,encodeURIComponent,相應(yīng)3個(gè)解碼函數(shù):unescape,decodeURI,decodeURIComponent 。
escape()除了 ASCII 字母、數(shù)字和特定的符號(hào)外,對(duì)傳進(jìn)來的字符串全部進(jìn)行轉(zhuǎn)義編碼,因此如果想對(duì)URL編碼,最好不要使用此方法。而encodeURI() 用于編碼整個(gè)URI,因?yàn)閁RI中的合法字符都不會(huì)被編碼轉(zhuǎn)換。encodeURIComponent方法在編碼單個(gè)URIComponent(指請(qǐng)求參數(shù))應(yīng)當(dāng)是最常用的,它可以將參數(shù)中的中文、特殊字符進(jìn)行轉(zhuǎn)義,而不會(huì)影響整個(gè)URL。
經(jīng)過測(cè)試,發(fā)現(xiàn)encodeURIComponent方法可以很好的解決這個(gè)問題。
1.設(shè)置url
// 設(shè)置當(dāng)前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并跳轉(zhuǎn)
var list_url = '<?php echo $list_url;?>'; d_list_url = decodeURIComponent(list_url); window.location.href = d_list_url;
這樣就能實(shí)現(xiàn),參數(shù)不丟失了。主要就是頁(yè)碼和篩選條件。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript編碼操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript中json操作技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
ES6記錄異步函數(shù)的執(zhí)行時(shí)間詳解
在這篇文章里,我會(huì)實(shí)現(xiàn)一個(gè)可重用的函數(shù)來處理 JavaScript 延時(shí)異步操作。有需要的小伙伴們可以參考借鑒,下面來一起看看。2016-08-08javascript顯示用戶停留時(shí)間的簡(jiǎn)單實(shí)例
這篇文章介紹了javascript顯示用戶停留時(shí)間的簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下2013-08-08JS獲取文本框,下拉框,單選框的值的簡(jiǎn)單實(shí)例
本篇文章主要是對(duì)JS獲取文本框,下拉框,單選框值的簡(jiǎn)單實(shí)例進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-02-02js提交form表單,并傳遞參數(shù)的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猨s提交form表單,并傳遞參數(shù)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05js清空表單數(shù)據(jù)的兩種方式(遍歷+reset)
這篇文章主要介紹了js清空表單數(shù)據(jù)的兩種方式(遍歷+reset),需要的朋友可以參考下2014-07-07JavaScript面向?qū)ο髮?shí)現(xiàn)放大鏡案例
這篇文章主要為大家詳細(xì)介紹了JavaScript面向?qū)ο髮?shí)現(xiàn)放大鏡案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10