且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用Jquery或JS在具有相同名称的多个参数时获取URL查询字符串参数

更新时间:2023-02-23 21:53:41

您可以使用reduce来做到这一点:

you can use reduce to do that:

var u='/AllItems.aspx?FilterName=FilterA&FilterMultiValue=*FilterASearchValue*&FilterName=FilterB&FilterMultiValue=*FilterBSearchValue*'

u.split(/[?&]/).reduce(function(a,b,c){
  var p=b.split("="), k=p[0], v=decodeURIComponent(p[1]);
  if(!p[1])return a;
  a[k]=a[k]||[];
  a[k].push(v);
 return a;
}, {})

返回参数数组而不是字符串,从而允许重复使用相同名称的参数:

which returns an array of params instead of a string, allowing same-name params to repeat:

{   
    "FilterName": [
        "FilterA",
        "FilterB"
    ],
    "FilterMultiValue": [
        "*FilterASearchValue*",
        "*FilterBSearchValue*"
    ]
}