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>