Jquery在数组中获取window.location.search标记

时间:2013-10-18 14:53:54

标签: javascript jquery html

假设我有这个地址:http:// * * / test.php?alfa = 1& beta = 2

我知道我可以使用窗口位置中的搜索标记获得?alfa = 1& beta = 2但是有没有办法将结果分成2个字符串,在这种情况下,首先是?alfa = 1和第二个& beta = 2(或只是beta = 2)使用JQuery?

5 个答案:

答案 0 :(得分:2)

// 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('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

不是我的工作。找到它here首先在Google上发布。

答案 1 :(得分:0)

你可以使用Split方法,

样品 - var str =“你今天过得怎么样?”; var n = str.split(“”);

会给你数组 怎么样,是,你在做,今天?

对于您的问题,您可以使用'?'吐出文字关键字首先和下一个'&amp;'键...

答案 2 :(得分:0)

有一个插件jQuery BBQ:http://benalman.com/projects/jquery-bbq-plugin/

您可以使用以下函数,但它返回一个对象而不是一个数组

var params = $.deparam.querystring();
console.log(params);

Object {alfa: "1", beta: "2"}

答案 3 :(得分:0)

URL://somesite.com/?v1=1&v2=2&v3=3

$(function () {
  var in_url = [];
  var in_url_str = window.location.search.replace('?','').split('&');
  $.each(in_url_str,function (kay,val) {
    var v = val.split('=');
    in_url[v[0]]=v[1];
  });
  console.log(in_url);
});

在控制台中

[v1: "1", v2: "2", v3: "3"]
v1:"1"
v2:"2"
v3:"3"

答案 4 :(得分:-1)

要获取带有键的Json对象。

JSON.parse('{' + window.location.search.slice(1).split('&').map(x => { y = x.split('='); return '"' + y[0] + '":' + y[1]}).join(',')  + '}')