1. 程式人生 > 程式設計 >基於JavaScript獲取url引數2種方法

基於JavaScript獲取url引數2種方法

這次是使用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進行頁面跳轉及傳參後在跳轉後的頁面接收到引數!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。