在 JavaScript 中解析查询字符串
2022-08-29 23:26:52
我需要解析查询字符串。如何在 JavaScript 中获取变量?www.mysite.com/default.aspx?dest=aboutus.aspx
dest
我需要解析查询字符串。如何在 JavaScript 中获取变量?www.mysite.com/default.aspx?dest=aboutus.aspx
dest
以下是在 JavaScript 中解析查询字符串的快速简便方法:
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split('=');
if (decodeURIComponent(pair[0]) == variable) {
return decodeURIComponent(pair[1]);
}
}
console.log('Query variable %s not found', variable);
}
现在向 page 发出请求.html?x=Hello:
console.log(getQueryVariable('x'));
function parseQuery(queryString) {
var query = {};
var pairs = (queryString[0] === '?' ? queryString.substr(1) : queryString).split('&');
for (var i = 0; i < pairs.length; i++) {
var pair = pairs[i].split('=');
query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');
}
return query;
}
将查询字符串(如)转换为对象 。从那里,很容易提取所需的变量。hello=1&another=2
{hello: 1, another: 2}
也就是说,它不处理数组情况,例如 。要解决此问题,您必须在添加到对象之前检查该对象的属性是否存在,并将其值转换为数组,并推送任何其他位。"hello=1&hello=2&hello=3"