【轉】js獲取url傳遞參數


<Script language="javascript">
var Request = new Object();
Request = GetRequest();
var 參數1,參數2,參數3,參數N;
參數1 = Request[''參數1''];
參數2 = Request[''參數2''];
參數3 = Request[''參數3''];
參數N = Request[''參數N''];
</Script>
以此獲取url串中所帶的同名參數

<Script language="javascript">
function GetRequest() {
  
  var url = location.search; //獲取url中"?"符后的字串
   var theRequest = new Object();
   if (url.indexOf("?") != -1) {
      var str = url.substr(1);
      strs = str.split("&");
      for(var i = 0; i < strs.length; i ++) {
         theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
      }
   }
   return theRequest;
}
</Script>

 然后我們通過調用此函數獲取對應參數值:

<Script language="javascript">
var Request = new Object();
Request = GetRequest();
var 參數1,參數2,參數3,參數N;
參數1 = Request[''參數1''];
參數2 = Request[''參數2''];
參數3 = Request[''參數3''];
參數N = Request[''參數N''];
</Script>
以此獲取url串中所帶的同名參數

 

另一種方法類似

<script type="text/javascript">
                //var  str = "https://www.baidu.com/s?wd=360&rsv_spt=1&rsv_iqid=0xaf1f9ec6000038d6&issp=1"
               function getRequest()
            {
                alert(1)
            //var url=window.location.search;
            var url ="?wd=360&rsv_spt=1&rsv_iqid=0xaf1f9ec6000038d6&issp=1";
            if(url.indexOf("?")!=-1) 
            { 
               var str = url.substr(1) 
                strs = str.split("&"); 
                var key=new Array(strs.length);
                var value=new Array(strs.length);
                for(i=0;i<strs.length;i++) 
                { 
                 key[i]=strs[i].split("=")[0]
                 value[i]=unescape(strs[i].split("=")[1]); 
                  console.log(key[i]+"="+value[i]);
               } 
               } 
              
            }
            getRequest();
            
            
            </script
二、正則分析法。
function GetQueryString(name) {
   var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
   var r = window.location.search.substr(1).match(reg);
   if (r!=null) return (r[2]); return null;
}
alert(GetQueryString("參數名1"));
alert(GetQueryString("參數名2"));
alert(GetQueryString("參數名3"));

其他參數獲取介紹:
//設置或獲取對象指定的文件名或路徑。
alert(window.location.pathname);

//設置或獲取整個 URL 為字符串。
alert(window.location.href);

//設置或獲取與 URL 關聯的端口號碼。
alert(window.location.port);


//設置或獲取 URL 的協議部分。
alert(window.location.protocol);

//設置或獲取 href 屬性中在井號“#”后面的分段。
alert(window.location.hash);         https://i.cnblogs.com/EditPosts.aspx#opt=1&wb=2&pwd=3

//設置或獲取 location 或 URL 的 hostname 和 port 號碼。
alert(window.location.host);

//設置或獲取 href 屬性中跟在問號后面的部分。
alert(window.location.search);      https://i.cnblogs.com/EditPosts.aspx?opt=1&wb=2&pwd=3

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM