我遵循REST标准,您使用POST
操作创建资源,GET
显示数据。
包括使用GET
显示创建表单,使用POST
来处理资源的实际创建(AKA,保存到数据库)。
如果POST
请求失败(比方说,重复的电子邮件地址),则返回302
作为响应,将用户重定向回表单(类似于{{ 1}}与GET /resource/create
)。
如何在ZF2中重定向后保留从302
发送的数据?
或者,也许ZF2不支持这个/我们不应该进行302重定向?
答案 0 :(得分:1)
我只是觉得你想把数据传回形式。并在每个字段上显示数据。通常,对于失败的请求,您不需要make redirection
。只需显示form
和data
即可。只需在进程成功时使用重定向(保存到数据库)。
$form = new Form(); // your form
$request = $this->getRequest();
if ($request->isPost()) {
$form->setData($request->getPost());
if ($form->isValid()) {
// saving data here then redirect
$this->redirect()->toRoute('route', array('action' => 'name'), array('param => 1'));
}
}
return array('form' => $form);