修改url中引數的值

2022-04-15 15:40:43 字數 1686 閱讀 1621

之前都是先取 window.location.href的值 然後取匹配關鍵字

近日在mdn上面發現了乙個簡便方法獲取url中引數的值.  這個鏈結找到例子6 

或者直接看這段**(摘自mdn):

function loadpagevar (svar) 

alert(loadpagevar("name"));

獲取到該引數的值,然後 用js的replace去替換吧,目前沒有發現其他更好的辦法  

2016-03-29  今天再次使用到這個 發現乙個特別好用的方法:

function updatequerystringparameter(uri, key, value) 

else

}

這段**來自 stackoverflow:

或者參考github上的這個開源專案  

-------------------------------------分割線-----------------------------------------

但是在使用途中遇到了兩個問題:

1,實際上現在我們的需求是如果新增的parameter 的value 為空的時候 就不應該放到url裡面,不然看起來特冗餘且醜陋, 

2,每一次我們都需要新增乙個key value 特麻煩,於是將方法做了乙個小小的改造,核心還是引用他們的.

1,first step:

輔助方法 不變,獲取url中某引數的值,請注意返回的值是解碼後的url匹配值:

//輔助方法  獲取url中引數的值

function loadpagevar (svar)

2,second step:

修改url中引數的值,上面原po主沒有處理傳入引數的值為空的情況,我用最蠢的辦法過濾了一下,請注意傳入的url是要先解碼,因為第乙個輔助方法 loadpagevar返回值是解碼後的匹配值:

//更新url中的引數,傳為空則不會拼接到url中去 ,請注意 該方法傳入的uri需要解碼,不然會匹配不到

function updatequerystringparameternew(uri, key, value)

var re = new regexp("([?&])" + key + "=.*?(&|$)", "i");//忽略大小寫

var separator = uri.indexof('?') !== -1 ? "&" : "?";

if (uri.match(re))

else

}

3,third step:

乙個乙個值的傳入修改url 特繁瑣,咱們先將傳入的各個引數丟到乙個物件裡面,然後去單個處理 最後返回乙個url

//將多個引數以物件的方式傳入方法,得到最終的url

function handleurl(parameterobj,url)

return localurl;

}

最後 咱們需要引入這三個公共方法 到幫助類裡面.然後呼叫 handlerurl方法,再強調一次 傳入的url

需要解碼.不然會匹配不到

獲取URL中引數的值

獲取 url中引數的值 例子 var action geturlparam action 返回action 的值為 update param name 要獲取的引數名字 param location 可選引數,頁面的 url,在彈出視窗中使用 return 返回引數的值 var geturlpara...

獲取url中的引數

獲取 url 中的引數 1.指定引數名稱,返回該引數的值 或者 空字串 2.不指定引數名稱,返回全部的引數物件 或者 3.如果存在多個同名引數,則返回陣列 測試 輸入 輸出 1,2,3 function geturlparam surl,skey if arrs.length 1 else if a...

php 如何獲得url引數中具有 的值

這個是通過js來操作的 如果出現這樣的場景,當使用者需要退出帳號,你又希望他退出後直接在返回當前頁面 比如,當前頁面的位址為http module.php?module groupbook view index id 2.你退出系統想必會使用 server request uri 來 獲取當前路徑,...