Cómo integrar Ajax con Symfony2

Estoy buscando forma simple tutorial / ejemplo sobre ajax en symfony2, para principiantes?

Tengo estos ejemplos:

  • city.php: http://pastebin.com/Qm8LS5kh

  • ajax_req.js: http://pastebin.com/UqJMad24

  • index.html: http://pastebin.com/H1err4Yh

¿Cómo se pueden poner en una aplicación Symfony2?

Es fácil. Ilustraré cómo hacer una llamada AJAX en Symfony2 a través de 3 pasos. Para el siguiente ejemplo, suponga que usa la biblioteca jQuery.

  • Defina la ruta para la acción que tiene que manejar su llamada AJAX. P.ej

    AcmeHomeBundle_ajax_update_mydata: pattern: /update/data/from/ajax/call defaults: { _controller: AcmeHomeBundle:MyAjax:updateData } 
  • Defina la acción en el controlador MyAjax del paquete de Home . P.ej

     public function updateDataAction(){ $request = $this->container->get('request'); $data1 = $request->query->get('data1'); $data2 = $request->query->get('data2'); ... //handle data ... //prepare the response, eg $response = array("code" => 100, "success" => true); //you can return result as JSON return new Response(json_encode($response)); } 
  • Prepare su llamada AJAX en su plantilla de Twig , por ejemplo:

     function aButtonPressed(){ $.post('{{path('AcmeHomeBundle_ajax_update_mydata')}}', {data1: 'mydata1', data2:'mydata2'}, function(response){ if(response.code == 100 && response.success){//dummy check //do something } }, "json"); } $(document).ready(function() { $('button').on('click', function(){aButtonPressed();}); }); 

    Puede cambiar el ejemplo utilizando otras llamadas AJAX.