Ответ 1
Это легко. Я проиллюстрирую, как выполнить вызов AJAX в Symfony2 через 3 шага. В следующем примере предположим, что вы используете библиотеку jQuery.
-
Определите маршрут для действия, которое должно обрабатывать ваш вызов AJAX. Например.
AcmeHomeBundle_ajax_update_mydata: pattern: /update/data/from/ajax/call defaults: { _controller: AcmeHomeBundle:MyAjax:updateData }
-
Определите действие в контроллере
MyAjax
из пакетаHome
. Например.public function updateDataAction(){ $request = $this->container->get('request'); $data1 = $request->query->get('data1'); $data2 = $request->query->get('data2'); ... //handle data ... //prepare the response, e.g. $response = array("code" => 100, "success" => true); //you can return result as JSON return new Response(json_encode($response)); }
-
Подготовьте свой вызов
AJAX
в своем шаблонеTwig
, например: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();}); });
Вы можете изменить пример, используя другие вызовы AJAX.