2012-08-01 219 views
1

可能重复查询字符串:
Get query string values in JavaScript我怎样才能读取JS

我需要一个函数来读取查询字符串值?

如果我给密钥,那么该方法应该返回相应的值。

请帮助..

+0

加入你有什么一些示例代码[试图](http://mattgemmell.com/2008/12/08/what-have-you-tried /)! – ChiefTwoPencils 2012-08-01 11:09:03

+0

这可能是一个解决方案。 http://stackoverflow.com/a/647272/999312 – 2012-08-01 11:10:48

回答

1

尝试,这将有助于

function fnGetValueByKey(key) 
{ 
    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
    var regexS = "[\\?&]" + key + "=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.search); 
    if(results == null) 
    return ""; 
    else 
    return decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 
0

伊夫使用永诺以下,它似乎工作

function urlParam(name){ 
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec (window.location.href); 
    if (results == null) 
     return ""; 
     else 
     return results[1]; 
} 

你只需要调用urlParam("yourName");,它将返回你的价值;

+0

看起来令人不安地接近这个http://stackoverflow.com/a/901144/995876 – Esailija 2012-08-01 11:11:08

+0

它的通常使用的每一个地方,我一直使用它多年,但IM当然,我从某个论坛或某个地方得到了它,但我肯定不够聪明,无法自己写;) – 2012-08-01 11:12:23

0

y使用getQuery('mykey')访问所需的查询;

function getQuery(key) { 
     var hu = window.location.search.substring(1), gy = hu.split("&"), val; 
     keyValue = {}; 
     for (var i = 0; i < gy.length; i++) { 
      val = gy[i].split("="); 
      keyValue[val[0]] = val[1]; 
     } 
     return keyValue[key]; 
    }