Foros del Web » Programando para Internet » PHP » Symfony »

Ajax en symfony

Estas en el tema de Ajax en symfony en el foro de Symfony en Foros del Web. Buenas tardes. Me estoy volviendo loco y es que no se xq no m funciona este código @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original $ ...
  #1 (permalink)  
Antiguo 23/10/2015, 09:48
 
Fecha de Ingreso: septiembre-2015
Mensajes: 71
Antigüedad: 8 años, 7 meses
Puntos: 0
Ajax en symfony

Buenas tardes.
Me estoy volviendo loco y es que no se xq no m funciona este código

Código Javascript:
Ver original
  1. $('.link').click(function(){
  2.         var elem = $(this);
  3.     $.get("{{ path('changeStateEpisodes', {'id' : '2230'}) }}",
  4.     function(data){
  5.          $(".result").html(data);
  6.     });
  7. });

Lo estaba usando antes con php nativo (el único parametro que ha cambiado es la URL) y funcionaba perfectamente. Además he puesto la ruta en el href de mi elemento, para que no tenga q pasar por AJAX y también funciona perfectamente, el problema está cuando lo quiero pasar por AJAX.

Gracias anticipadas
  #2 (permalink)  
Antiguo 23/10/2015, 14:04
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Ajax en symfony

Puedes mostrar tu ruta y la firma y contenido del método que esta relacionada a esa ruta
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 24/10/2015, 05:02
 
Fecha de Ingreso: septiembre-2015
Mensajes: 71
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Ajax en symfony

Si perdona, como funcionaba sin ajax pensé q no tendría ningún problema ahí pero quien sabe jij
Código PHP:
Ver original
  1. changeStateEpisodes:
  2.     pattern: /serie/change/{id}
  3.     defaults: { _controller: TMKEpisodesBundle:Default:changeStateEpisodes }

Código PHP:
Ver original
  1. public function changeStateEpisodesAction($id){
  2.         $request = $this->getRequest();
  3.         if($request->getMethod() == 'GET'){
  4.             $manager = $this->getDoctrine()->getManager();
  5.             $episode = $manager->getRepository('TMKEpisodesBundle:Episodes')->find($id);
  6.             if($episode->getState()){
  7.                 $episode->setState(false);
  8.             } else {
  9.                 $episode->setState(true);
  10.             }
  11.             $manager->persist($episode);
  12.             $manager->flush();
  13.             return $this->redirect($this->generateURL('loadSeries'));
  14.         }
  15.     }
  #4 (permalink)  
Antiguo 24/10/2015, 10:42
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Ajax en symfony

El problema es que el método esta haciendo una redirección cuando debe de mandar una respuesta html.
cambiar esto:
Código PHP:
Ver original
  1. return $this->redirect($this->generateURL('loadSeries'));
por
Código PHP:
Ver original
  1. return $this->render(
  2.         'template.html.twig',
  3.         array('data' => $data)
  4.     );
Solo cambia los datos necesarios
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 25/10/2015, 04:41
 
Fecha de Ingreso: septiembre-2015
Mensajes: 71
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Ajax en symfony

Lo he hecho, pero sigue sin funcionar, y es que creo que el problema no está en eso, xq me da la sensación que no llega a entrar en el action
  #6 (permalink)  
Antiguo 25/10/2015, 11:23
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Ajax en symfony

Saludo
Pues seguro que no entra al action?
Eso se comprueba con la operación en la base de datos.

Por otra parte, sí se revisa los request del navegador,
que información aparece?
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #7 (permalink)  
Antiguo 25/10/2015, 14:00
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Ajax en symfony

recuerda probar que las rutas están funcionando con los comandos:
Código BASH:
Ver original
  1. app/console router:debug
  2. app/console router:match
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #8 (permalink)  
Antiguo 27/10/2015, 06:12
 
Fecha de Ingreso: septiembre-2015
Mensajes: 71
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Ajax en symfony

Ya os digo, que si no lo paso por el archivo js para AJAX (es decir, desde el mismo link voy al action) funciona todo perfectamente, pero mi problema está, al pasarlo por AJAX para q la página no se actualice

¿Donde puedo revisar los request del navegador?

Gracias a todos
  #9 (permalink)  
Antiguo 27/10/2015, 13:58
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Ajax en symfony

Saludo
Pues en la inspección de elementos del navegador (clic derecho),
y en el panel que aparece, en la pestaña network o debugger
(depende del navegador)
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #10 (permalink)  
Antiguo 28/10/2015, 05:04
 
Fecha de Ingreso: septiembre-2015
Mensajes: 71
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Ajax en symfony

Este es el request

URL de pedida: http://localhost:8888/seriesmoko/web/app_dev.php/serie/{{ path('changeStateEpisodes', {'id' : '2230'}) }}?id=2230
Método de la petición: GET
Dirección remota: [::1]:8888
Código de estado: 500 Internal Server Error
Versión: HTTP/1.1

en eso, puedo ver q no está pillando nada bién la ruta a la q debe ir. Podría hacerlo d forma manual aunque me gustaría hacerlo usando el routing de symfony
  #11 (permalink)  
Antiguo 28/10/2015, 13:39
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Ajax en symfony

Saludo

El problema es que loadSeries no está definida en el routing.yml
Agregandola, debe funcionar.

Aparte, revisar dos cosas.

1. Cuando cargue la página, mirar en el inspector
que la url del ajax quede bien elaborada, ej

Código Javascript:
Ver original
  1. $.get("/fmw/Symfony/web/app_dev.php/serie/change/2230",
2. Agregar el document.ready y dejar el código del llamado dentro de este.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: ajax
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:14.