我有一个from数组名称为foo[]
的输入,因此,在提交表单时,我的网址变为foo[]=lorem&foo[]=ipsum
,但是当使用php http_build_query
来重新生成这种查询时,它会向这样的数组foo[0]=lorem&foo[1]=ipsum
。
我的问题是,在前面,我使用URLSearchParams.getAll('foo[]')
来获取值,但是它仅在没有http_build_query
添加的数组键的情况下有效。
有没有办法以这种格式使用URLSearchParams
?
答案 0 :(得分:0)
基于@Plamen Nikolov链接,我通过更改Javascript以处理具有或不具有索引键(由PHP通过http_build_query添加)的数组输入来解决此问题,如下所示:
// Before
let urlParams = new URLSearchParams(window.location.search);
// After
let urlQuery = decodeURI(window.location.search).replace(/\[\d+\]/g, "[]");
let urlParams = new URLSearchParams(urlQuery);