我们正在Symfony2上开发两个独立的站点,在处理提交的表单时遇到了两个奇怪的问题。
两个网站都有一个用于显示表单和处理提交的操作。在处理GET和POST请求时,会检查$this->getRequest()->getMethod()
。如果是GET,我们会显示表格。如果是POST,我们会将其持久保存到实体中。
但是,getMethod()
似乎总是返回GET
,即使在发布数据时也是如此。我知道请求方法应该是POST
,因为浏览器的网络检查员说它将表单作为POST请求发送,var_dump($_POST);
输出我们刚刚提交的表单的内容。
这些网站在CentOS 6.3的不同服务器上运行。我有第三个类似的服务器运行第三个站点,处理提交很好。可能导致这种情况的原因是什么?
答案 0 :(得分:3)
我曾多次遇到过这样的问题并尝试过不同的方法。这是我的最后一个:
public function formAction(Request $request)
{
}
{% render 'Bundle:Controller:form' with {'request': app.request} %}
请注意,在这种情况下,您需要将请求作为参数获取 - 而不是从容器中获取它。如果你习惯性地使用Symfony,那么你已经这样做了。
如果你能找到解决这个问题的更好方法,我很想知道。 :)