javascript - append 到查询字符串 JavaScript

标签 javascript url append

当我尝试将 id append 到查询字符串的末尾时,JS 会向查询字符串添加不必要的与号和“=”符号。

我正在尝试做这样的事情:

http://sample_site/report/file/list?f%5B%5D=1111

但是当我在控制台中查看结果时,我得到了这个:

http://sample_site/report/file/list?f%5B%5D=&f=1111

这是我的 JS 函数,它构建了一个 URL 对象:

buildTileFilter(){
        let url = new URL('http://sample_site/report/file/list?f%5B%5D');

        let query_string = url.search;

        let search_params = new URLSearchParams(query_string);

        search_params.set('f', 1111);

        url.search = search_params.toString();
        let new_url = url.toString();
        return new_url;
    }

最佳答案

“%5B%5D”部分被视为参数名称的一部分。您必须将其添加到您设置的参数名称中才能获得您想要的结果。这是字符串“[]”的编码值,因此要获得结果,代码应该是:

buildTileFilter(){
        let url = new URL('http://sample_site/report/file/list?f%5B%5D');

        let query_string = url.search;

        let search_params = new URLSearchParams(query_string);

        search_params.set('f[]', 1111);

        url.search = search_params.toString();
        let new_url = url.toString();
        return new_url;
    }

关于javascript - append 到查询字符串 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55190765/

相关文章:

PHP - 相对路径 "require"

php - 为什么我应该对通过 GET 传递的 URL 进行 urlencode

Linux:根据输入文件 #2 的行数将输入文件 #1 中的单行复制 X 次到 append 文件 #3

javascript - 如何解决 Node.js 中的这个 'Too Many Requests' 错误?

javascript - 使用 jQuery 修改 onclick 事件

javascript - jQuery - 尝试选择选项菜单时包含问题

iphone - 如何在 NSURLConnection 中放置阿拉伯语

javascript - 使用 <script src=.... 的跨框架脚本来查找站点的状态代码 - 安全问题?

使用包含输入字段和值的单元格 append 表格的 Javascript 函数

python - 如何使用 Python 在一个命令中追加和设置值?