ami*_*mit 1 javascript query-string
我想从URL获取查询字符串的所有参数的值。
例: www.xyz.com?author=bloggingdeveloper&a1=hello
我想使用JavaScript 获取author和的值a1。
最简单的方法是:
const search = /*your search query ex:-?author=bloggingdeveloper&a1=hello*/
const params = new URLSearchParams(search);
let paramObj = {};
for(var value of params.keys()) {
paramObj[value] = params.get(value);
}
Run Code Online (Sandbox Code Playgroud)
如果您管理paramObj,您将获得:-
{
author: bloggingdeveloper,
a1: hello
}
Run Code Online (Sandbox Code Playgroud)
简单!!
请参阅:-https : //developer.mozilla.org/zh-CN/docs/Web/API/URLSearchParams/keys
如果您正在与优秀的开发人员打交道,我认为这推理起来并不太复杂。将迭代器转换为param.keys()数组,以便您可以使用reduce。
const params = new URLSearchParams(window.location.search);
const paramsObj = Array.from(params.keys()).reduce(
(acc, val) => ({ ...acc, [val]: params.get(val) }),
{}
);
Run Code Online (Sandbox Code Playgroud)
这会给你一个像这样的对象:
{
a: any,
b: any,
c: any,
...etc
}
Run Code Online (Sandbox Code Playgroud)
当然,a、b、c 和假设的查询参数名称,以及使用的“any”。
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;
}
var author = getUrlVars()["author"];
var a1 = getUrlVars()["a1"];
Run Code Online (Sandbox Code Playgroud)