通过 URL 和 URLSearchParams 创建多个查询键

koc*_*fan 4 javascript url

我想在 JavaScript 中创建具有多个键值的 url 值。

如果我也这样的话

    const url = new URL('http://example.com/hoge');
    url.search = new URLSearchParams(['a': ['b', 'c'], 'd': 'e']);
    console.log(url.href);
Run Code Online (Sandbox Code Playgroud)

我实现了

http://example.com/hoge?a=b,c&d=e
Run Code Online (Sandbox Code Playgroud)

但我想要的是

http://example.com/hoge?a=b&a=c&d=e
Run Code Online (Sandbox Code Playgroud)

我怎么才能得到它?

m20*_*33m 6

你可以这样做:

const p = new URLSearchParams();
p.append('a', 'b');
p.append('a', 'c');
p.append('d', 'e');

const url = new URL('http://example.com/hoge');
url.search = p;

console.log(url.href);
Run Code Online (Sandbox Code Playgroud)