我有一个非常简单的问题,如何从get ->Request()中获得POST值;
public function emptytrashAction(){
$request = $this->getRequest();
$portfolio_id = $_POST["test"];
}我不想使用$_POST变量,我提交的表单只包含这个隐藏的字段测试。表格是,
<form name="empt_trash" action="{{ path('MunichInnovationGroupPatentBundle_portfolio_emptytrash') }}" method="post" >
<input type="hidden" name="test" value={{ selected_portfolio.id }}>
<input class="button3 tooltip" name = "submit" type="submit" value="Empty"></a>
</form>如何不使用$_POST获得隐藏字段的值?
编辑
如果方法同时使用GET请求和POST请求,对于Post请求,我将签入代码如下
if ($request->getMethod() == 'POST')但是它不是symfony2方式,那么检查POST请求的正确方法是什么呢?
发布于 2012-06-21 14:00:31
简单到:
$request = $this->getRequest();
$postData = $request->request->get('test');备注:此解决方案仅适用于Symfony <2.4版本。2.4 不受欢迎,3.0删除。
获取请求的新代码应该是:
$request = $this->container->get('request_stack')->getCurrentRequest();
$postData = $request->request->get('test');发布于 2014-08-22 09:08:15
$this->getRequest()是一个自symfony 2.4以来被弃用的方法,它将在3.0版本中被删除,因此获取当前请求的最佳方法是通过以下代码:
//src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
...
/*
* ...
* @deprecated Deprecated since version 2.4, to be removed in 3.0. Ask
* Symfony to inject the Request object into your controller
* method instead by type hinting it in the method's signature.
*/
public function getRequest()
{
return $this->container->get('request_stack')->getCurrentRequest();
}由以下的进化所引入,
发布于 2014-10-08 07:53:18
您不应该使用getRequest()方法--它不推荐它--它总是将请求注入到控制器中是个好主意。定义你的行为如下:
public function emptytrashAction(Request $request){
$portfolio_id = $request->request->get('test');
}不要使用像POST这样的全局词,也不要在你的行为中使用它们是不安全的。
在这里您可以找到更多详细信息:http://symfony.com/blog/new-in-symfony-2-4-the-request-stack
https://stackoverflow.com/questions/11139692
复制相似问题