我需要制作像example.com?want[]=1,2,3&want[]=1,2,3&want[]=1,2,3这样的URL
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 {}。
为什么是空的?
发布于 2019-08-12 19:33:47
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编码。)
发布于 2019-08-13 02:13:01
可以通过使用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()]);
https://stackoverflow.com/questions/57467183
复制相似问题