是否可以在不使用表单的情况下将数组从树枝发送到控制器?

Posted

技术标签:

【中文标题】是否可以在不使用表单的情况下将数组从树枝发送到控制器?【英文标题】:Is it possible to send array from twig to controller without using a form? 【发布时间】:2017-06-11 18:44:57 【问题描述】:

在 twig 中,我收到了一组项目,然后在内部进行一些操作后,我需要返回数组(具有相同或不同的值)。 那么是否可以发送一个像 slug 这样的数组,以便控制器可以接收它?

编辑:这个问题得到了很多反对,可能是因为我不清楚我需要什么。我只问了 Theoretical 这样的问题,我只想知道是否可以这样做。我没有问任何代码解决方案(我没有输入我的任何内容,只是想知道是否有人遇到过这种情况,以及我该如何解决这个问题)只是 理论答案

【问题讨论】:

这就是form 的用途 是的,我知道这可以与表单一起使用,但我想知道是否还有其他选择 您应该在加载视图之前进行处理,而不是在树枝视图本身中。除非我误解了这个问题;不是很清楚你想做什么,你能用你目前掌握的相关代码来说明吗? 不知道你为什么对这个问题投反对票,问问题有错吗? 您的问题被否决了,因为它没有表现出任何类型的研究和努力。您唯一的其他有效选择是使用某种 ajax 逻辑,但我认为这不是您想要的。 【参考方案1】:

是的,你可以,如果你提交的信息就是这样。

$request->request 

可用于获取所有数据。我建议转储此变量以查看它在提交时包含的内容。使用后,只需循环访问它即可获取条目

$request->request->get("data-name"); 

【讨论】:

嗯,有趣,这是正确的使用原因,还是我真的需要使用表单?顺便提一句。 tnx 回放 如果您制作自定义输入字段,即多选下拉菜单,则不需要使用 symfony 表单。【参考方案2】:

在处理 twig 模板的过程中,您不能在您所在的 php 范围内回话。但是你可以调用控制器并将值传递给它

当然,您的控制器需要了解您传递的参数

 render(controller('AppBundle:Controller:persist',  'value': myarray )) 

我的示例将调用一个名为 Controller 的控制器和一个名为 persistAction($value) 的函数,并将 render 控制器的结果返回器这部分是可选的。

Look this documentation 它解释了如何调用或呈现一个 url/控制器并传递参数

【讨论】:

以上是关于是否可以在不使用表单的情况下将数组从树枝发送到控制器?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有表单的情况下将字符串数组发布到 ASP.NET MVC 控制器?

如何在不丢失 css 的情况下将模板从桌面发送到移动设备

如何在不等待结果的情况下将 SQL 查询发送到 PHP 中的数据库

如何在不刷新页面的情况下将数据从 Android 发送到 PHP 并显示

是否可以在不运行 QEMU 的情况下将文件复制到 QEMU 映像?

如何在不丢失信号的情况下将信号从多个子进程发送到主进程?