im essayant d'envoyer des données d'un formulaire HMTL à un contrôleur à l'aide d'AJAX, mais le contrôleur ne reçoit pas les données comme étant l'erreur indique.
Formulaire HTML: P>
public function addEventAction() { $em = $this->getDoctrine()->getManager(); //fetch the POST Data $request = $this->get('request_stack')->getCurrentRequest(); $data = $request->request->all(); $evento = new Evento(); $evento->setBeginat(new \DateTime($data["evento_inicio"])); $evento->setEndat(new \DateTime($data["evento_fin"])); $evento->setTitle($data["evento_titulo"]); $evento->setMail($data["evento_mail"]); $evento->setDescription($data["evento_descripcion"]); $evento->setColor($data["color"]); $em->persist($evento); $em->flush(); //return response $serializedEntity = $this->container->get('serializer')->serialize($evento, 'json'); $response = new Response($serializedEntity); $response->headers->set('Content-Type', 'application/json'); return $response; }}
3 Réponses :
Votre propriété Ajax URL n'est pas la bonne, vous devriez simplement appeler l'URL (Route) associée à l'action Controller AddiventAction (). p>
Disons que votre itinéraire à Addeventaction est "/ Event / Ajouter", puis mettez La propriété URL d'une demande AJAX doit être l'adresse valide où vous envoyez la demande: -) p> URL: "/ Event / Ajouter" CODE> ou même si vous avez un nom pour cet itinéraire, puis mettez
URL : "{{chemin (" nom_of_your_route ')}} " code> p>
Votre demande AJAX est envoyée dans Essayez Application / JSON CODE> Type de contenu mais votre contrôleur s'attend à
Application / X-www-Form-Urlencodé code>. p>
json_decode () code> ing
$ requérir-> getContent () code> pour obtenir votre
$ data code>. p>
Jetez un coup d'œil à ce paquet pour gérer l'URL de Symfony à partir de JavaScript: https://github.com/friendsofsymfony/ FosjsroutingBundle . Et gardez à l'esprit que JavaScript sera exécuté avant la branche. Je suis sûr que l'erreur que vous affichez est affichée sur la charge de la page. Bonne chance p>