Javascript从url(windows.location)获取所有参数

Javascript从url(windows.location)获取所有参数,javascript,jquery,Javascript,Jquery,我正在尝试从url获取所有参数 例如: http://domain.com/page?param1=values&param2=values2?param3=value3....&paramx=valuex 我用的是: window.location.search.substring(1).split("&") 除了所有的参数分隔符&都被逗号, 上面的参数基本上是这样返回的: param1=values,param2=values2,param3=value3,...

我正在尝试从url获取所有参数

例如:

http://domain.com/page?param1=values&param2=values2?param3=value3....&paramx=valuex
我用的是:

window.location.search.substring(1).split("&")
除了所有的参数分隔符
&
都被逗号

上面的参数基本上是这样返回的:

param1=values,param2=values2,param3=value3,....,paramx=valuex

你知道我怎样才能得到这些参数吗?

请参阅这篇关于MDN的文章。它回答了你的问题。

var-oGetVars={};
如果(window.location.search.length>1){
for(var aItKey,nKeyId=0,aCouples=window.location.search.substr(1)。拆分(&);nKeyId1?decodeURIComponent(aItKey[1]):“”;
}
}
//警报(oGetVars.yourVar);

否,
字符不替换为逗号。您误解了控制台输出。
.split()
函数返回一个数组,而不是字符串。这可能会对您有所帮助:所以我应该改用:
window.location.search.substring(1).split(“?”)
,它将返回一个包含2个元素的数组,并获取第二个元素(1)。。。对吗?在您的示例中,第二个
应该是
&
(在
param2=values2
之后)。和
window.location.search.substring(1).split(&)
已经是一个很好的解决方案。在其他评论的基础上,这里有一个小问题:当它链接到一篇权威来源的文章,其中包含您要查找的确切代码时,这篇文章被否决的原因是什么?例如7、8、9等等,尽管这个链接可能回答了这个问题,最好在这里包括答案的基本部分,并提供链接供参考。如果链接页面发生变化,只有链接的答案可能会无效。谢谢你的解释。顺便说一下,我没有投你反对票,你的答案出现在质量很低的帖子队列中,其中一个选项是我留下的股票评论,你会发现大多数投反对票的人不会留下评论
var oGetVars = {};
if (window.location.search.length > 1) {
  for (var aItKey, nKeyId = 0, aCouples = window.location.search.substr(1).split("&"); nKeyId < aCouples.length; nKeyId++) {
    aItKey = aCouples[nKeyId].split("=");
    oGetVars[decodeURIComponent(aItKey[0])] = aItKey.length > 1 ? decodeURIComponent(aItKey[1]) : "";
  }
}
// alert(oGetVars.yourVar);