【问题标题】:http_build_query and URLSearchParamshttp_build_query 和 URLSearchParams
【发布时间】:2019-09-03 13:51:49
【问题描述】:

我有一个带有数组名称的输入,例如foo[],所以当提交表单时,我的 url 变为 foo[]=lorem&foo[]=ipsum,但是当使用 php http_build_query 重新生成此类查询时,它会向数组添加键,如下所示 @987654325 @。

我的问题是,在前面我使用URLSearchParams.getAll('foo[]') 来获取值,但它只有在没有http_build_query 添加的数组键的情况下才有效。

那么有没有办法以这种格式使用URLSearchParams

【问题讨论】:

标签: javascript php input


【解决方案1】:

基于@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);

【讨论】:

    猜你喜欢
    • 2019-03-23
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 2021-11-10
    • 2022-11-23
    • 2021-11-27
    相关资源
    最近更新 更多