Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-获取编码为URI的url参数_Javascript - Fatal编程技术网

JavaScript-获取编码为URI的url参数

JavaScript-获取编码为URI的url参数,javascript,Javascript,如何获取URL中已编码的参数。例如,在这个URL中,我需要2cf=和3cat=值: search.php?st=advanced&qall=&qany=&cat%5B%5D=13&cat%5B%5D=14&cat%5B%5D=11&cf%5B%5D=16&cf%5B%5D=22 我尝试了这个并得到空值: const queryString = window.location.search; const urlParams = new URLSearchParams(queryString); c

如何获取URL中已编码的参数。例如,在这个URL中,我需要2
cf=
和3
cat=
值:

search.php?st=advanced&qall=&qany=&cat%5B%5D=13&cat%5B%5D=14&cat%5B%5D=11&cf%5B%5D=16&cf%5B%5D=22

我尝试了这个并得到空值:

const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
console.log(urlParams.get(`cat%5B%5D`)); // would like array [13,14,11]
console.log(urlParams.get(`cf%5B%5D`)); // would like array [16,22]
将对uri编码的字符串进行解码。将其应用于OP案例:

const encodedUri='search.php?st=advanced&qall=&qany=&cat%5B%5D=13&cat%5B%5D=14&cat%5B%5D=11&cf%5B%5D=16&cf%5B%5D=22';
试一试{
const decodedUri=decodeURI(encodedUri);
console.log(decodedUri);
}捕获(e){
控制台错误(e);

}
只需使用URLSearchParams对象的另一种方法,即
getAll

console.log(urlParams.getAll(`cat%5B%5D`)); // will give you an array
你会得到你想要的

[13,14,11]