Saltar al contenido

Ajax y Jquery en Symfony

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *