javascript从URL读取变量值

时间:2011-11-23 05:40:32

标签: javascript

当我将数据从一个页面发布到另一个页面时,我如何将其转换为dom。

说URL是www.test.com/?xxx=1234&a=122

如何在DOM中获取 xxx 一个值?

3 个答案:

答案 0 :(得分:0)

以下是一个基本教程,介绍了您要问的一种方法:

http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html

基本上,你将位置字符串从url拆分成一个数组,用&amp ;,之后分隔?标志。

以下是该页面的代码:

// Read a page's GET URL variables and return them as an associative array.
function getUrlVars()
{
    var vars = [], hash; 
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); // cut the URL string down to just everything after the ?, split this into an array with information like this: array [0] = "var=xxx"; array [1] = "var2=yyy";

   //loop through each item in that array
    for(var i = 0; i < hashes.length; i++)
    {
        //split the item at the "="
        hash = hashes[i].split('=');

        //put the value name of the first variable into the "vars" array
        vars.push(hash[0]);

        //assign the value to the variable name, now you can access it like this:
        // alert(vars["var1"]); //alerts the value of the var1 variable from the url string
        vars[hash[0]] = hash[1];
    }
    return vars;
}

我添加了一些评论来解释它。

答案 1 :(得分:0)

只需使用javascript的window.location.search属性(有关here的详细信息)。

var str = window.location.search;

现在,您可以使用substringsplit等字符串操作函数来获取所需的文本,这些文本可以在“DOM内部”使用。

答案 2 :(得分:0)

URL中的参数可用作window.location对象的搜索属性。将它转换为对象以便于访问并不太难:

function getURLValues() {

  var search = window.location.search.replace(/^\?/,'').replace(/\+/g,' ');
  var values = {};

  if (search.length) {
    var part, parts = search.split('&');

    for (var i=0, iLen=parts.length; i<iLen; i++ ) {
      part = parts[i].split('=');
      values[part[0]] = window.decodeURIComponent(part[1]);
    }
  }
  return values;
}