Solución:
Realmente solo tienes que reemplazar targetFile.php por una ruta personalizada tuya.
Entonces, si tiene esto en su routing.yml:
# app/config/routing.yml
hello:
pattern: /ajax/target
defaults: { _controller: AcmeHelloBundle:Site:index }
Puede utilizar este javascript:
$("#div").click(function(){
$.post("/ajax/target",{/*parameters*/,function(data){ });
});
En el lado de Symfony2, se llamará al método indexAction del SiteController del AcmeHelloBundle.
Si establece dentro de routing.yml esto:
_admin_ajax:
resource: "@SomethingAdminBundle/Controller/AjaxController.php"
type: annotation
prefix: /admin/ajax
… y dentro del controlador, que manejará ajax llamar a esto:
/**
* @Route("/ajaxhandler", name="_admin_ajax_handler")
*/
public function handlerAction() {
$isAjax = $this->get('Request')->isXMLHttpRequest();
if ($isAjax) {
//...
return new Response('This is ajax response');
}
return new Response('This is not ajax!', 400);
}
… luego, por ejemplo, dentro de la plantilla TWIG, debe llamarlo así:
$("#div").click(function(){
$.post("{{ url('_admin_items_add') }}",{/*parameters*/,function(data){ });
});
… y la ruta real de tu acción se generará con el motor de plantillas.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)