在URL参数中设置或附加多个选项

时间:2018-07-23 11:08:09

标签: javascript jquery

我正在尝试通过jQuery中的URL过滤结果。目前,我可以获取和decodeURL来正确更新结果。

我的问题是以这种逻辑格式维护URL。例如

https://example.com/members?buys=Cheese,Ham&sells=Dog%20Food

我无法终生获得这项工作。我列出了我在互联网上发现的功能,并对其进行了修改以取得进展。

此功能替换了当前参数,因此无法设置多个选择选项。

function setQueryStringParameter(name, value) {
    const params = new URLSearchParams(location.search);
    params.set(name, value);
    window.history.replaceState({}, "", `${location.pathname}?${params}`);
}

params.set可以替换为params.append,但这将使URL为buys=Cheese&buys=Ham&sells=Dog%2520Food。我是从here获得的,并对其进行了更改以使其与我的getParamFunction相匹配(它运行decodeURL)。请注意,发生的sells=Dog%2520Food上的编码不正确或是双重编码。

无论我进行什么搜索,我都找不到任何信息来说明如何在正确编码的URL中维护多个选项。

0 个答案:

没有答案