最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

php - Getting parameters from page url - Stack Overflow

programmeradmin3浏览0评论

So, here's the main code, which checks the URL of the current page for the string ?a= then sets the variable ee_roomname to anything after that.

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

But what, if I want to add more variables, maybe after this value. For ex. here's a possible url:

.html?a=hijk

Thus, the variable ee_roomname will be set to hijk
Now if we add some more tags, it will look like this:

.html?a=hijk&b=lmno&c=pqrs

Now ee_roomname will be set to hijk&b=lmno&c=pqrs, which is not what I want.
I want the code to only track the a variable/parameter's value from the URL.

What needs to be changed, and how, in order to make it work?
Maybe provide a code I can use, too. (not too big fan of "do this and this" and such)

So, here's the main code, which checks the URL of the current page for the string ?a= then sets the variable ee_roomname to anything after that.

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

But what, if I want to add more variables, maybe after this value. For ex. here's a possible url:

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

Thus, the variable ee_roomname will be set to hijk
Now if we add some more tags, it will look like this:

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

Now ee_roomname will be set to hijk&b=lmno&c=pqrs, which is not what I want.
I want the code to only track the a variable/parameter's value from the URL.

What needs to be changed, and how, in order to make it work?
Maybe provide a code I can use, too. (not too big fan of "do this and this" and such)

Share Improve this question edited Sep 22, 2012 at 13:15 SeinopSys asked Jun 21, 2012 at 16:37 SeinopSysSeinopSys 8,93610 gold badges66 silver badges114 bronze badges 2
  • Looks like you want something like this – Gaʀʀʏ Commented Jun 21, 2012 at 16:40
  • @le_garry Exactly what I was looking for. Could you post that as an answer so I can accept it? – SeinopSys Commented Jun 21, 2012 at 16:44
Add a ment  | 

3 Answers 3

Reset to default 5

Here is a function to retrieve url parameters

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

How to retrieve the url parameters in your javascript

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

alert(first);
alert(second);

View the Source

For your bonus: if you split the string at the '?' and take the first half, that will give you the "pure" absolute url.

to answer the first question, you could also try:

<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 is an array of all get variables and values like: [["h", "1"], ["g", "2"]] if ?h=1&g=2

hope that helps.

Try to parse the entire url using this URL Parsing library in JavaScript.

发布评论

评论列表(0)

  1. 暂无评论