用js 獲取url 參數 頁面跳轉 ? 后的參數


記得之前在原來的公司寫過這個東西,但是還是忘記怎么接住參數了,只知道怎么把id傳過去!

問了身邊的大佬 他首先推薦了我一個鏈接是別人寫好的方法  

附上鏈接地址:http://blog.csdn.net/kongjiea/article/details/39644623

不過為了保險起見我又復制了一邊  在最底部 哈哈哈  因為好丑

我用的是第一種方法 我昨天做的是列表頁(invest.html)跳轉到詳情頁(investDetail.html)

invest.html代碼如下

解釋下 傳的id 這個本來是我自己想象的 過去點擊的當前的 value 沒想到百度一下  居然出來這個 抱着試一試的心態 妥了

哈哈哈  當時那叫個開心啊   齊活 列表頁值傳進去了 現在做的就是在詳情頁獲取到這個id!!!

重點來了 我就是卡在這里了  百思不得其姐 ! 福利來了

這時候 我們就用到我說的第一種方法了  復制粘貼到 你詳情頁

 

 然后在成功回調函數中調用

這時候運行你的網頁 你會發現 會把當前點擊的商品的id打印出來 

當時好像還遇到一個問題 哦 忘記是什么了 好煩啊!!!

想了好幾分鍾 還是沒想出來 那就這樣吧  想出來了 一定會及時更新!!!

 

經過了一兩個小時 我想起來了  是怎么樣才能獲取到每一個商品的id呢  我用的是input的type = ‘hidden’

把自己拿到的id放在這個input中 然后隱藏掉 哈哈 我真機智!然后就可以獲取到你數據庫中的id啦 

如果你覺得幫到了你  麻煩給一個小小的贊唄 ~~~ 

如果沒有幫到你 可以留言哦~

 補充:如果你的接收參數的頁面只有一個參數 還有一種比較方便的方法就是 substr()這個方法 傳4 就可以了  會幫你自動獲取

但是如果不只是有一個參數的話  就不能用這個方法了  他會把你?id = 后面的全部截取出來哦 

下面是復制的內容---------------------------------------------

方法一:正則分析法 

 
  1. function getQueryString(name) {  
  2.         var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");  
  3.         var r = window.location.search.substr(1).match(reg);  
  4.         if (r != null) return unescape(r[2]);  
  5.         return null;  
  6.     }  

方法二:

 
  1. <Script language="javascript">   
  2. function GetRequest() {   
  3.    var url = location.search; //獲取url中"?"符后的字串   
  4.    var theRequest = new Object();   
  5.    if (url.indexOf("?") != -1) {   
  6.       var str = url.substr(1);   
  7.       strs = str.split("&");   
  8.       for(var i = 0; i strs.length; i ++) {   
  9.          theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);   
  10.       }   
  11.    }   
  12.    return theRequest;   
  13. }   
  14. </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>

方法三:

 
  1. /**  
  2.  * 獲取指定的URL參數值  
  3.  * URL:http://www.quwan.com/index?name=tyler  
  4.  * 參數:paramName URL參數  
  5.  * 調用方法:getParam("name")  
  6.  * 返回值:tyler  
  7.  */  
  8. function getParam(paramName) {  
  9.     paramValue = "", isFound = !1;  
  10.     if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {  
  11.         arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0;  
  12.         while (i arrSource.length && !isFound) arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++  
  13.     }  
  14.     return paramValue == "" && (paramValue = null), paramValue  
  15. }  

其他參數獲取介紹: 
//設置或獲取對象指定的文件名或路徑。
alert(window.location.pathname);
//設置或獲取整個 URL 為字符串。
alert(window.location.href);
//設置或獲取與 URL 關聯的端口號碼。
alert(window.location.port);
//設置或獲取 URL 的協議部分。
alert(window.location.protocol);
//設置或獲取 href 屬性中在井號“#”后面的分段。
alert(window.location.hash);
//設置或獲取 location 或 URL 的 hostname 和 port 號碼。
alert(window.location.host);
//設置或獲取 href 屬性中跟在問號后面的部分。
alert(window.location.search);

 

關注公眾號

免責聲明!

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



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