Angular2 UrlSearchParams如何使用括号为同一个参数创建多个值的url查询

时间:2016-11-22 15:03:12

标签: angular

如何正确使用UrlSearchParams为url创建如下结构:

example.org?tag[]=one&tag[]=two&tag[]=other

当我使用Url Params时,如下所示:

let params = new URLSearchParams();
params.append('tag', 'one');
params.append('tag', 'two');
params.append('tag', 'other');

网址看起来像这样:

example.org?tag=one&tag=two&tag=other

此方法会导致Web服务器出现一些问题,因为它们会以与?tag=one相同的方式处理该查询字符串。如果没有括号,服务器只获取第一个值。

2 个答案:

答案 0 :(得分:10)

我认为你正在寻找这个:

let params = new URLSearchParams();
params.append('tag[]', 'one');
params.append('tag[]', 'two');
params.append('tag[]', 'other');

答案 1 :(得分:2)

我猜你可以这样做,但我还没有测试过它:

let params = new URLSearchParams();
params.append('tag[0]', 'one');
params.append('tag[1]', 'two');
params.append('tag[2]', 'other');