我需要设置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 {}
,但控制台中没有值。
为什么它是空的?
答案 0 :(得分:1)
URLSearchParams是一个对象。您需要使用toString()
将其强制转换为字符串,如下所示:
var params = new URLSearchParams();
params.append('want[]', '1,2,3');
params.append('want[]', '1,2,3');
params.append('want[]', '1,2,3');
console.log(params.toString());
(注意:这将对“ [”,“]”和“,”等字符进行URL编码)
答案 1 :(得分:0)
您可以使用URLSearchParams上可用的任何这些方法来访问值
getAll()
->对于特定的搜索参数.entries()
->对于所有键/值对.values()
->对于所有值
var params = new URLSearchParams();
params.append('want[]', '1,2,3');
params.append('want[]', '1,2,3');
params.append('want[]', '1,2,3');
console.log(params.getAll('want[]'));
console.log([...params.entries()]);
console.log([...params.values()]);