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

zf2 ajax

Estas en el tema de zf2 ajax en el foro de Zend en Foros del Web. Buenas: Tengo una aplicación que caundo envio útilizo una llamada desde un jqueyu a un ajax , pero este me da error , no accede ...
  #1 (permalink)  
Antiguo 18/12/2013, 08:25
 
Fecha de Ingreso: octubre-2013
Mensajes: 20
Antigüedad: 10 años, 6 meses
Puntos: 0
zf2 ajax

Buenas:
Tengo una aplicación que caundo envio útilizo una llamada desde un jqueyu a un ajax , pero este me da error , no accede al controlador indicado (adjunto el cv)


$(".bajaAlumno").click(function () {
var dato= $(this).attr('id');
var urlform = "<?php echo $this->url(null, array('controller'=>'Academius','action' => 'bajaAlumnos' ) ); ?>";
$.ajax({
url: urlform,
type: 'post',
dataType: 'json',
async: true,
data:dato,
success: function() {
alert("AJAX call a success!");
},
error: function() {
alert("AJAX call an epic failure");
}
});

});



alguna idea
  #2 (permalink)  
Antiguo 18/12/2013, 11:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: zf2 ajax

¿y el mensaje de error?
  #3 (permalink)  
Antiguo 19/12/2013, 03:34
 
Fecha de Ingreso: octubre-2013
Mensajes: 20
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: zf2 ajax

La pregunta es como podria hacer que var dato= $(this).attr('id'); lo recepcionara el controlador para hacer una baja del mismo, yo aca estoy utilizando ajax pero no se como
hacerlo
  #4 (permalink)  
Antiguo 19/12/2013, 12:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: zf2 ajax

En data tienes que poner las llaves con el nombre, por ejemplo:
Código Javascript:
Ver original
  1. $.ajax({
  2.    url: '/foo/bar',
  3.    data: {
  4.          foo: 'bar'
  5.    }
  6. });

Así rescatas foo en tu controller y vas a tener bar de valor.

Saludos.
  #5 (permalink)  
Antiguo 20/12/2013, 01:52
 
Fecha de Ingreso: octubre-2013
Mensajes: 20
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: zf2 ajax

Eso me da error compañero , he visto en otros foros que lo haga con JSON
alguna idea?
  #6 (permalink)  
Antiguo 20/12/2013, 09:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: zf2 ajax

¿y se puede saber el mensaje de error? Esa es la forma correcta de enviar datos con jQuery, tienes que pasarle un objeto a data...
  #7 (permalink)  
Antiguo 23/12/2013, 04:33
 
Fecha de Ingreso: octubre-2013
Mensajes: 20
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: zf2 ajax

ya lo tengo solucionado , realmente era por unos espacios de mas , ahora no tengo ningún error de log , el problema es el siguiente ,recepcionar en el controlador ese hilo de JSON con los datos
FUNCION

//delete person
$(".bajaAlumno").click(function () {
var dat =$(this).attr('id');
var response = '{"name":"' + dat + '"}';
alert(response);
$.ajax({
url: 'bajaAlumnos',
dataType: 'json',
data: JSON.stringify(response),
type: 'post',

success: function (data) {
alert(data);
},

error: function (jqXHR, textStatus, errorThrown) {
console.log("Error... " + textStatus + " " + errorThrown);
}
});
//reloaded the page
location.reload();

});




he probado con $this->getEvent()->getRouteMatch()->getParam('id'); y nada
  #8 (permalink)  
Antiguo 23/12/2013, 10:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: zf2 ajax

No lo estas haciendo correctamente, tienes que pasar el objeto como json a data, jQuery se encarga de pasarlo a URLEncoded para que lo puedas rescatar en el servidor, de la forma que lo estas haciendo no tiene y nunca te va funcionar, lee el mensaje que te indique, te dice exactamente como debes de enviarlo.

Saludos.
  #9 (permalink)  
Antiguo 23/12/2013, 17:37
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: zf2 ajax

Segun la respuesta de GatorV, debes poner tu codigo asi:

Código JavaScript:
Ver original
  1. $(".bajaAlumno").click(function () {
  2.     var dato= $(this).attr('id');
  3.     var urlform = "<?php echo $this->url(null, array('controller'=>'Academius','action' => 'bajaAlumnos' ) ); ?>";
  4.     $.ajax({
  5.         url: urlform,
  6.         type: 'post',
  7.         dataType: 'json',
  8.         async: true,
  9.         data:'NOMBRE_VARIABLE_POST=' + dato,
  10.             success: function() {
  11.                 alert("AJAX call a success!");
  12.         },
  13.             error: function() {
  14.                 alert("AJAX call an epic failure");
  15.         }    
  16.     });
  17.  
  18. });

Y en tu action ya puedes capturar la variable con el nombre que le pases, en el ejemplo: NOMBRE_VARIABLE_POST
__________________
Aprendiendo!!!

Etiquetas: ajax, zf2
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 04:45.