Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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 URLSearchParams始终返回空_Javascript - Fatal编程技术网

Javascript URLSearchParams始终返回空

Javascript URLSearchParams始终返回空,javascript,Javascript,我需要创建像example.com?want[]=1,2,3&want[]=1,2,3&want[]=1,2,3 let params = new URLSearchParams(); for(let i in searchArr) { params.append('want[]', `${searchArr[i].id},${searchArr[i].quality},${searchArr[i].level}`); } console.log(params); 我已经验证了给定

我需要创建像
example.com?want[]=1,2,3&want[]=1,2,3&want[]=1,2,3

let params = new URLSearchParams();

for(let i in searchArr) {
    params.append('want[]', `${searchArr[i].id},${searchArr[i].quality},${searchArr[i].level}`);
}

console.log(params);
我已经验证了给定的值是否存在,但它总是显示
URLSearchParams{}
,控制台中没有任何值


为什么为空?

URLSearchParams是一个对象。您需要使用
toString()
将其转换为字符串,如下所示:

var params=新的URLSearchParams();
params.append('want[]','1,2,3');
params.append('want[]','1,2,3');
params.append('want[]','1,2,3');

log(params.toString())您可以使用URLSearchParams上提供的任何方法访问值

  • 特定搜索参数的
    getAll()
    ->
  • .entries()
    ->用于所有键/值对
  • .values()
    ->用于所有值
var params=新的URLSearchParams();
params.append('want[]','1,2,3');
params.append('want[]','1,2,3');
params.append('want[]','1,2,3');
log(params.getAll('want[]);
log([…params.entries()]);

log([…params.values()])
您甚至可以执行
[…参数]
。应与
.entries()相同