Foros del Web » Programando para Internet » Javascript »

No recibo data json

Estas en el tema de No recibo data json en el foro de Javascript en Foros del Web. Que tal todos? Les cuento que estoy realizando un tutorial de php, js, mysql y bootstrap. Y estoy teniendo algunos problemas porque cometo errores (algunos ...
  #1 (permalink)  
Antiguo 19/11/2014, 11:19
 
Fecha de Ingreso: abril-2014
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
No recibo data json

Que tal todos? Les cuento que estoy realizando un tutorial de php, js, mysql y bootstrap. Y estoy teniendo algunos problemas porque cometo errores (algunos muy tontos) y no soy capaz de identificarlos a todos.
Tal es el caso de que me he quedado atascado en uno y llevo tiempo viendo cual puede ser el problema, pero no consigo dar con el.

La cosa es asi: En un archivo php hago una query y obtengo ciertos datos de una tabla. Acto seguido lo que intento hacer es pasarlos a un archivo js, que se carga ni bien se carga la pagina y muestra esos datos en una tabla. El tema es que esos datos nunca llegan hasta el archivo js.
Y ese es el problema, que no se por que. Estoy muy seguro de que es algo muy tonto, pero no soy capaz de darme cuenta de ello.

Les muestro las porcioncitas de código donde creo está el problema.

Este es el archivo donde hago la query:
Código PHP:
require './ConexionDB.php';

$db = new ConexionDB();

$conexion $db->getConexion();

$query "SELECT * FROM persona";

$statement $conexion->prepare($query);
$statement -> execute();

$arrayPersonas $statement->fetchAll(PDO::FETCH_ASSOC);

json_encode($arrayPersonas); 
Y aquí el js (no voy a poner todo el código. Solo la funcion que se supone debe recibir los datos)

Código Javascript:
Ver original
  1. app.buscarPersonas = function(){
  2. var url = "backend/buscar.php";
  3.      $.ajax({
  4.      url : url,
  5.      method : "GET",
  6.      dataType : "json",
  7.      success : function (data){
  8.          alert ("Datos recibidos");
  9.          app.rellenarTabla(data);
  10.      },
  11.      error: function(){
  12.          alert("Error. No recibo datos.");
  13.      }
  14.      });
  15.  };

Que les parece? Ven algo que pueda indicarme por donde debo buscar el error?
Saludos!
  #2 (permalink)  
Antiguo 19/11/2014, 11:33
 
Fecha de Ingreso: julio-2013
Mensajes: 87
Antigüedad: 10 años, 9 meses
Puntos: 9
Respuesta: No recibo data json

Si no me equivoco te falta un echo delante de json_encode:

Código PHP:
Ver original
  1. echo json_encode($arrayPersonas);
  #3 (permalink)  
Antiguo 20/11/2014, 08:26
 
Fecha de Ingreso: abril-2014
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Respuesta: No recibo data json

Gracias por la respuesta ccliment!
Pues verás, he puesto el echo, pero los datos siguen sin llegar.
Y yo ya me voy poniendo nervioso >.<
He intentado modificando la url por si simplemente estaba recibiendo mal la ruta, pero nada. Joder con esto.
  #4 (permalink)  
Antiguo 20/11/2014, 12:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: No recibo data json

Consulta en la consola del navegador el resultado que trae data, así sabrás si el archivo PHP está devolviendo una respuesta o si estás realizando mal la petición asíncrona.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 21/11/2014, 11:01
 
Fecha de Ingreso: abril-2014
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Respuesta: No recibo data json

Bien, no se si era exactamente lo que tenía que hacer, pero para ver lo que tiene "data" use "console.log"
Código Javascript:
Ver original
  1. .always(function(data){
  2.        console.log(data);
  3.        alert("Datos: ".data);

Y en Firebug me mostró lo siguiente:



Por su parte el "alert" me dice "Undefined"

Te soy sincero, no se bien como interpretar esto.
Muchas gracias por tu respuesta
  #6 (permalink)  
Antiguo 21/11/2014, 11:37
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: No recibo data json

¿Podrías colocar en texto lo que te muestra la consola? Es que tu imagen no se logra visualizar.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 21/11/2014, 12:56
 
Fecha de Ingreso: abril-2014
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Respuesta: No recibo data json

Al menos yo con "Ver imagen" consigo agrandarla, pero si por las dudas, esto es lo que dice:

Cita:
Object { readyState=4, responseText="Conectado[{"id":"1","nom...via","dni":"29165345"}]", status=200, más...}
El "Conectado" es un alert en la clase que hace la conexion. Lo que sigue es el array con los datos que se obtuvieron con el query.
Por cierto, a la derecha dice "frontend.js (linea 24)". Asumo que efectivamente es el log que puse en el archivo js.
  #8 (permalink)  
Antiguo 21/11/2014, 13:06
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: No recibo data json

Según lo que muestras, estás obteniendo por resultado un array de objetos, así que la respuesta es exitosa. Por otra parte, estás concatenando mal en el mensaje de alerta pues, en JavaScript, se concatena con el signo de suma +, no con el punto.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 25/11/2014, 09:16
 
Fecha de Ingreso: abril-2014
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Respuesta: No recibo data json

Cierto, estaba concatenando mal. De todas formas, mas alla de eso. Si efectivamente recibo la data, por que ***** se ejecuta el "error" en lugar del "success"? >:
Una vez mas, gracias por la ayuda que me has prestado

Etiquetas: ajax, data, funcion, js, json, php, recibo, select
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 11:08.