我是Symfony2中的noobie。 handleRequest()
函数不适用于"GET"
方法,而相同的代码适用于"POST"
。
public function addAction(Request $request){
$std = new Student();
$form = $this->createForm(new StudentForm, $std,
array( 'method'=>'GET'));
$form->handleRequest($request);
if($form->isSubmitted()){
$std= $form->getData();
$em= $this->getDoctrine()->getManager();
$em->persist($std);
$em->flush();
return $this->render('target.twig');
}
return $this->render('target twig',
array('newStdForm'=> $form->createView(),));
}
上面的代码不起作用,但是如果我将
'method':'GET'
更改为'method':'POST'
,那么它可以正常工作。 最佳答案
我认为这是因为在POST请求中,参数是在HTTP请求的正文中传递的。该handleRequest在请求主体内查找那些值。但是在GET请求中,参数直接在url中传递。因此,我认为这就是处理不起作用的原因。
通常,我们使用GET来获取页面或URL,并使用POST来将信息发送到服务器。
关于symfony - handleRequest($ request)在Symfony 2中的 "GET"方法中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20159903/