【发布时间】:2016-08-02 10:30:01
【问题描述】:
我需要按名称获取查询字符串参数。
我的参数包括所有类型的字符,包括“=”符号。
这是一个例子:
我试过了:
function getParameterByName(name) {
var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
但它用空格替换了“+”号:
“代码”:“Ippr7HP / Fad2q3kKMehQtVYnbFcZp h4ECS RCQmN KrcAM8N4tdeNciNEXlwkhnjF3tZgez1 / a1Ca1018uXpodGEnPcyTJzsupjsfuSmyuS1hoRXY04wKLgiyW031aLAYmua8yXLDdghgjo 0s7SUD7LWFMapMP8b3eN // ycbe1QNm6RVc7ahMs77ng6i6p6MScBefU / Rnj5ME7ly7tqw == P>
我试过了:
function getParameterByName(key) {
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[key];
}
但这不包括“=”符号...
有什么建议吗?
【问题讨论】:
-
所以……基本上……您的查询字符串格式不正确。如何修复生成它的东西而不是试图绕过错误?
-
@Quentin 这是asp.net身份生成代码以重置密码的方式,我不是自己写的,也不想尝试更改他们的系统..