how to send data using post ajax and get it from a symfony controller -


hi im trying dend data method in controller using ajax script :

$("#form_enr").submit(function(ev) {     ev.preventdefault();       var ev = $("#myselect").val();     var text =$("#form_text").val();      console.log(text);     console.log(ev);      $.ajax({         type: "post",         url: "{{ path('invitation_enregistrerinv')}}",         data : 'ev=' + ev + '&text=' + text,         success: function(data){             $('.portlet-body').html(data);                 }     });      }); 

and use syntax :

public function enregistrerinvaction() {     $inv = new invitation();         $em = $this->getdoctrine()->getmanager();     $request = $this->get('request');      $ev = $request->request->get('ev');     $text = $request->request->get('text');      $inv->setcreatedat(new \datetime());     $inv->setupdatedat(new \datetime());     $inv->settext($text);      $em->persist($inv);     $evenement=$em->getrepository('evevenementbundle:evenement')->findbyid($ev);     $evenement=new evenement();     $evenement->setinvitation($inv);     $em->persist($evenement);     $em->flush();     $this->addflash(         'success',         'les informations ont été enregistrées!'     );      return $this->redirect($this->generateurl('invitation_index2'));  } 

but seems not working, because have error :

an exception occurred while executing 'insert invitation (created_at, updated_at, text) values (?, ?, ?)' params ["2016-08-01 17:12:55", "2016-08-01 17:12:55", null]:

sqlstate[23000]: integrity constraint violation: 1048 le champ 'text' ne peut être vide (null) !!! because text null , , don't it

i believe pass data wrong in js side. try change data this:

$.ajax({    (...)     data : {         ev: ev,         text: text     } });     

(you using post method, don't pass arguments in query string in method)

edit:

your controller action should like:

public function enregistrerinvaction(request $request){     (...)     $text = $request->request->get('text');     (...) } 

are sure valid data coming request? (you can try var_dump($_post))


Comments