从页面网址获取参数

时间:2012-06-21 16:37:59

标签: php javascript url parameters

所以,这是主代码,它检查字符串的当前页面的URL?a = 然后将变量 ee_roomname 设置为之后的任何内容。

<script type="text/javascript">
    var ee_roomname = unescape(location.href.substring(location.href.lastIndexOf("?a=")+1))
    if(ee_roomname.indexOf("?") != -1) ee_roomname = "";
</script>

但是,如果我想添加更多变量,可能在此值之后。对于前者这是一个可能的网址:

  

http://abc.de/fg.html?a=hijk

因此,变量 ee_roomname 将设置为 hijk
现在,如果我们添加更多标签,它将如下所示:

  

http://abc.de/fg.html?a=hijk&b=lmno&c=pqrs

现在 ee_roomname 将被设置为 hijk&amp; b = lmno&amp; c = pqrs ,这不是我想要的。
我希望代码只跟踪URL中的 a 变量/参数值。

需要改变什么以及如何使其发挥作用? 也许提供我可以使用的代码。 (不是“做这个和这个”的忠实粉丝等)

3 个答案:

答案 0 :(得分:4)

这是一个检索url参数的函数

function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
        vars[key] = value;
    });
    return vars;
}

如何检索javascript中的url参数

var first = getUrlVars()["id"];
var second = getUrlVars()["page"];

alert(first);
alert(second);

View the Source

奖励:如果你将字符串拆分为'?'并采取上半部分,这将给你“纯粹的”绝对网址。

答案 1 :(得分:2)

回答第一个问题,您也可以尝试:

<script> 
  var query = window.location.search.substring(1);
  var getv = query.split("&");
  var pair = new Array();
  for (var i=0; i < getv.length; i++) {
    pair[i] = getv[i].split("=");
  }
</script>

pair是所有get变量和值的数组,如: [[“h”,“1”],[“g”,“2”]]如果?h = 1&amp; g = 2

希望有所帮助。

答案 2 :(得分:1)

尝试使用此URL Parsing library in JavaScript解析整个网址。