1

我有一个带有名称的选择多个标签city[]。括号应该表示稍后 PHP 的 url 查询字符串中的[]一个数组。

我正在使用 jQuery .serialize() 获取表单值来为 AJAX 调用构建查询字符串。但是,看起来 .serialize() 正在对 URL 进行编码而不是写括号

我应该得到

index.php?city[]=METROPLOIS&city[]=GOTHAM

相反,我得到

index.php?city%5B%5D=METROPLOIS&city%5B%5D=GOTHAM

有没有办法让它停止仅对名称进行编码?在某些情况下,城市名称可能有空格,所以我仍然需要它来对其进行编码。

4

1 回答 1

0

我想你只是有点困惑,因为你可能不熟悉 URL 转义。

但是,这在 PHP 中完美运行。例如,print_r($_GET)将输出:

Array
(
    [city] => Array
        (
            [0] => METROPLOIS
            [1] => GOTHAM
        )

)

city正确解释为数组并包含预期值。因为,city%5B%5D是一个有效的 URL 编码字符串city[]

于 2013-01-03T21:19:45.103 回答