ajax symfony

Par Mohamed Aymen Ourabi, il y a 9 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.
je veux ajouter dans la base a partir d'un formulaire et revoir un message de succées en utilisant l'ajax
NB: j'ai utiliser le bundle JSRoutingBundle
voila le code de ma vue TIWG,

/**

<script src="{{ asset('bundles/js/jquery.min.js') }}"></script> <script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script> <script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script> <script src="{{ asset('bundles/js/script.js') }}"></script> {{ form_start(form,{'attr': {'id': 'formid'}}) }} {{ form_row(form.modele) }} {{ form_row(form.marque) }} {{ form_row(form.horsepower) }} {{ form_row(form.ajouter)}} {{ form_end(form) }} <div id="returned"></div>

/****
le contenu de script.js
/***

$(document).ready(function(){ var form =$("#formid"); form.submit(function(){ $.ajax({ type: "POST", beforeSend: function() { $('#returned').html('en charge .....')}, url: Routing.generate('ajouter'), data: form.serialize(), error: function() {alert("error")}, success: function(htmlResponse) { $('#returned').html(htmlResponse)} }); }); });

/****
le contenu de l'action
/***

public function ajouterAction(Request $request) { $car = new car(); $form = $this->createForm(carType::class,$car); $form->handleRequest($request); if($request->isXmlHttpRequest()) { $em = $this->getDoctrine()->getManager(); $em->persist($car); $em->flush(); echo 'element insérer'; }else{ throw new Exception("error"); } return $this->render('aymenaymenBundle:Default:index.html.twig',array('form'=>$form->createView())); }
/*********************************************************
et pour finir le routing
/********************************************************
ajouter: path: /ajouter defaults: { _controller: aymenaymenBundle:Default:ajouter } options: expose: true

/**
mon but c'est d'avoir un petit message de succée dans la balise qui a l'id returned mais au contraire je reçois rien
dans la console j'ai une erreur (POST http://localhost/ajaxsyf/web/app_dev.php/ajouter 500 internal server error)
qu'est ce que je dois changer exactement ?
et merci d'avance

Aucune réponse