2

我们正在 Symfony2 上开发两个独立的站点,在处理提交的表单时都遇到了一个奇怪的问题。

两个站点都有一个用于显示表单和处理提交的操作。因为它同时处理 GET 和 POST 请求,$this->getRequest()->getMethod()所以被选中。如果是 GET,我们显示表单。如果是 POST,我们将其持久化到实体中。

但是,即使在发布数据时getMethod()似乎总是返回。GET我知道请求方法应该是POST因为浏览器的网络检查器说它以 POST 请求的形式发送了表单,并var_dump($_POST);输出了我们刚刚提交的表单的内容。

这些站点运行在不同的服务器上,都是 CentOS 6.3。我有第三个类似的服务器运行第三个站点,可以很好地处理提交。这可能是什么原因造成的?

4

1 回答 1

3

我已经多次遇到这样的问题并尝试了不同的方法。这是我的最后一个:

public function formAction(Request $request)
{
}
{% render 'Bundle:Controller:form' with {'request': app.request} %}

请注意,在这种情况下,您需要将请求作为参数获取——而不是从容器中获取它。如果您习惯性地使用 Symfony,那么您已经在这样做了。

如果你能找到解决这个问题的更好方法,我很想知道。:)

于 2012-10-29T14:37:32.300 回答