Je recherche un tutoriel/exemple simple sur ajax dans symfony2, pour débutant?
J'ai ces exemples:
city.php: http://Pastebin.com/Qm8LS5kh
ajax_req.js: http://Pastebin.com/UqJMad24
index.html: http://Pastebin.com/H1err4Yh
Comment les intégrer dans une application Symfony2?
C'est facile. Je vais illustrer comment faire un appel AJAX dans Symfony2 en 3 étapes. Pour l'exemple suivant, supposons d'utiliser la bibliothèque jQuery.
Définissez l'itinéraire pour l'action qui doit gérer votre AJAX. Par ex.
AcmeHomeBundle_ajax_update_mydata:
pattern: /update/data/from/ajax/call
defaults: { _controller: AcmeHomeBundle:MyAjax:updateData }
Définissez l'action dans le contrôleur MyAjax
à partir du bundle Home
. Par exemple.
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));
}
Préparez votre appel AJAX
dans votre modèle Twig
, par exemple:
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();});
});
Vous pouvez changer l'exemple en utilisant d'autres appels AJAX.