handleRequest($Anfrage) funktioniert nicht für "GET" - Methode im Symfony 2
Ich bin ein noobie in Symfony2. Die handleRequest()
- Funktion funktioniert nicht für "GET"
Methode in der Erwägung, dass derselbe code funktioniert gut für "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(),));
}
Der obige code nicht funktioniert, aber wenn ich 'method':'GET'
zu 'method':'POST'
, dann funktioniert es einwandfrei.
- Hallo, bitte versuchen genauer zu sein.
- Und warum wollen Sie das erzwingen BEKOMMEN? Gibt es einen bestimmten Grund, es zu tun mit einer GET-Anforderung nicht mit einem Eintrag?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, es ist, weil in POST-Anfragen, Parameter übergeben werden, die in den Körper der HTTP-Anforderung. Und dass handleRequest sieht für diese Werte im inneren des Körpers der Anfrage. Aber in einem GET-request werden die Parameter übergeben in der url direkt. Also ich denke, dass ist der Grund, warum der Umgang nicht funktioniert.
In der Regel verwenden wir GET zu Holen, eine Seite oder eine url und einen BEITRAG zu senden, info zum server.
Geben Sie die Formular-Methode in der StudentForm Klasse buildForm Methode. Daher handleRequest wird in der Lage sein zu greifen, die GET-Parameter.
Sind Sie sicher, dass Ihre twig-template ist das richtige?
Stand ich vor diesem Problem heute.
Pierre Roland, die Antwort ist teilweise richtig für die aktuelle version.
Ich habe das Standard "HttpFoundationRequestHandler", das heißt in "handleRequest".
Einer expliziten form BEKOMMEN wird, gilt als "eingereicht", wenn: