jQuery序列化括号[]从表单名称发布到PHP

时间:2018-12-20 16:35:07

标签: php jquery

我正在序列化表单数据,输入名称中带有方括号,即      当我使用jquery序列化它以将其发布到我的php文件进行处理时,它看起来像这样-test%5Btesting%5D = some输入。当我尝试使用以下文件时,后端上的我的php文件没有看到这些名称:     echo $ _POST ['test [testing]'];

如果我尝试仅使用名称测试获取信息,它将显示为数组。如何告诉php括号是字段名称的一部分?

<input name="test[testing]">
echo $_POST['test[testing]'];

当我尝试抓住它时,后端的php文件没有看到这些名称

1 个答案:

答案 0 :(得分:1)

POST和GET数据中的PHP特例方括号。

通过以下方式访问它:

$_POST['test']['testing']

这允许您使用PHP将其反序列化为嵌套数组/关联数组结构的数据构造表单,以便服务器端代码可以对其进行迭代。

其他一些表单处理库也采用了这种格式,例如Express.js's body-parser库具有支持此功能的可选 extended 模式。

PHP不支持构建平面数据结构($_POST['test[testing]']可以在其中使用),但是您可以使用以下方法读取原始数据:

$post_body_string = file_get_contents("php://input");

…,然后编写您自己的URL编码的表单数据解析器。