gpt4 book ai didi

javascript - 我应该将 '[]' 附加到多个 html 复选框吗?

转载 作者:行者123 更新时间:2023-12-02 17:20:10 25 4
gpt4 key购买 nike

我想使用 JavaScript 动态生成数据结构的标记,以便可以通过提交将其发送到任意服务器。

据我了解,这是有效的 HTML:

<form method="POST" action="/submit_data">
<input type="checkbox" name="animal" value="Ape" />
<input type="checkbox" name="animal" value="Snake" />

<input type="submit" value="Send data">
</form>

但似乎某些服务器(例如基于 PHP?)可以更好地处理名称后跟一对方括号的列表:

<form method="POST" action="/submit_data">
<input type="checkbox" name="animal[]" value="Ape" />
<input type="checkbox" name="animal[]" value="Snake" />

<input type="submit" value="Send data">
</form>

当这些数据发送到服务器(基于或不基于 PHP)时有什么区别?

最佳答案

如果您使用 PHP,那么当您希望这些值成为列表的一部分时,至少在使用 $_GET 时,您应该将 [] 附加到名称中> 和 $_POST

但严格来说,animal[]animal 没有什么不同。两者都是键,方括号在查询字符串格式中并不特殊。如果您使用不同的服务器后端,则可以处理 animal 的多个值。这两个值均由浏览器发送:

animal=Ape&animal=Snake

但是,在 PHP 中,也可以解析 PHP 中的 animal 的多个值。 $_GET$_POST 全局变量是为了方便起见。它们遵循与parse_str相同的规则。函数,它有一些怪癖,例如句点 . 被转换为下划线 _.

您可以通过以下方式获取原始 GET 查询:

$_SERVER['QUERY_STRING']

您可以通过以下方式获取原始 POST 数据:

file_get_contents("php://input")

(参见 http://www.php.net/manual/en/wrappers.php.php )

$_GET$_POST 超全局变量的创建受 variables_order 的监管。在 php.ini 中设置。这些仅在您使用时才会创建,只要 auto_globals_jit已启用(否则它总是在脚本运行之前发生)。只要启用 auto_globals_jit,您就可以使用原始数据,而无需额外的开销。

关于javascript - 我应该将 '[]' 附加到多个 html 复选框吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24043234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com