2

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

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

4

5 回答 5

3
// 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;
}

不是我的工作。在这里找到它首先点击谷歌。

于 2013-10-18T14:56:44.447 回答
0

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

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

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

Object {alfa: "1", beta: "2"}
于 2014-05-15T06:25:14.193 回答
0

您可以使用拆分方法,

sample- var str = "你今天过得怎么样?"; var n = str.split(" ");

会给你数组 How,are,you,doing,today?。

对于您的问题,您可以使用“?”吐出文字 关键字 first 和 next 由 '&' 键...

于 2013-10-18T14:59:26.327 回答
0

网址://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"
于 2018-08-07T08:52:49.307 回答
-1

获取带有键的 Json 对象。

JSON.parse('{' + window.location.search.slice(1).split('&').map(x => { y = x.split('='); return '"' + y[0] + '":' + y[1]}).join(',')  + '}')
于 2019-02-12T03:02:39.210 回答