【发布时间】:2019-09-02 23:25:37
【问题描述】:
可以有同名的表单输入:
<form>
<input type="text" name="email">
<input type="text" name="email">
</form>
表单上的 GET 操作会生成以下查询字符串: ...?email=&email=
因为电子邮件是为自己而存在的,这很好。
现在,如果有属于同一个人的数据(比如属于同一个人):
<form>
<input type="text" name="first_name">
<input type="text" name="last_name">
<input type="text" name="first_name">
<input type="text" name="last_name">
</form>
生成以下查询字符串: ...?first_name=&last_name=&first_name=&last_name=
我猜查询字符串中的参数排序与 html 中出现的元素相同...不过,我不确定是否总是如此。
因为查询字符串本质上是一个键/值映射,所以排序应该无关紧要...
我可以为每个名称添加一个索引,但是每次我在客户端上添加一个新对时都需要知道最后一个索引。
理想情况下,我希望避免自己添加索引以保持结构更加动态。
有没有更好的策略来避免依赖查询字符串参数的顺序?名称上的数组表示法似乎是用于 PHP 的一种方式,但我希望有一种更通用的方式(不在服务器上使用 PHP)...
【问题讨论】:
-
你试过把
first_name改成first_name[]吗? -
@B001ᛦ — 除非他们使用的解析器关心 PHP 风格的语法(并且他们表示他们没有),否则所做的只是让名称更复杂(到其中的字符需要的程度)编码)。
-
@Quentin 是的,你是对的,。谢谢你的澄清