基於JavaScript獲取url引數2種方法
阿新 • • 發佈:2020-04-20
這次是使用JavaScript來獲取url(request)中的引數
在日常頁面編寫的過程中為了方便操作在<script>中通過使用window.location.href="要跳轉的頁面?引數1=" rel="external nofollow" +值1+"&引數2="+值2 來進行頁面跳轉並傳值。
那麼在跳轉過去的頁面怎樣在<script>中獲取到傳過來的引數呢?
下面是小編的一個案例:
//引數傳出頁面
window.location.href = "Frameset.aspx?name=" + username + "&tbpwd="+tbpwd;//這裡是我要將username和tbpwd作為引數傳到Frameset.aspx這個頁面上
一、字串分割分析法
//引數接收頁面(Frameset.aspx) <script type="text/javascript" language="javascript"> $(function () { var url = location.search; ////獲取接收到的url中含"?"符後的字串 var request = new Object(); //例項化一個物件 if (url.indexOf("?") != -1) { //判斷“?”後面是否有值 var str = url.substr(1) //去掉括?號 strs = str.split("&"); for (var i = 0; i < strs.length; i++){ request[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);//將引數和對應的值使用split函式切割出來 } } //以此獲取url串中所帶的同名引數 alert(request["name"]); alert(request["tbpwd"]); }) </script>
二、正則分析法
<script type="text/javascript" language="javascript"> function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i"); var r = window.location.search.substr(1).match(reg); if (r!=null) return unescape(r[2]); return null; } alert(GetQueryString("引數名1")); alert(GetQueryString("引數名2")); </script>
以上兩種方法都是可以實現js通過window.location.href進行頁面跳轉及傳參後在跳轉後的頁面接收到引數!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。