Foros del Web » Programando para Internet » PHP »

devolver array a javascript

Estas en el tema de devolver array a javascript en el foro de PHP en Foros del Web. Hola, tengo una función javascript que llama mediante $.post("funcionphp.php", function(respuesta) a una función php . El problema es que esta función php, me tendría que ...
  #1 (permalink)  
Antiguo 24/03/2011, 03:18
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 6 meses
Puntos: 0
devolver array a javascript

Hola,

tengo una función javascript que llama mediante $.post("funcionphp.php", function(respuesta) a una función php. El problema es que esta función php, me tendría que devolver todos los campos de un registro.

Esto lo tengo en php en el array $row = mysql_fetch_row($consulta).

Si devuelvo con un return $row, javascript no me muestra ningun valor, cuando hago alert(respuesta) y undefined si pongo alert(respuesta[0]) //se supone que es un array lo que he devuelto y he intentado acceder a su primer elemento.
Y con echo $row pues me pone Array, para alert(respuesta) y si hago alert(respuesta[0]) me muestra A :D

Como puedo devolver esos datos desde php?? Tengo hecho un apaño, pero no creo que este bien.

Cuando tengo $row, hago esto:

Código:

foreach($row as $dato){
    if(utf8_encode($dato) == NULL)
        $dato = "vacio";
    $datos .= utf8_encode($dato) . "%%";
}
 $datos = trim($datos,"%%");
     
echo $datos;
Y luego lo devuelve mediante echo. Y ya lo trato en javascript. Pero me gustaria saber si hay alguna manera mas correcta de pasar estos valores.

Un saludo
  #2 (permalink)  
Antiguo 24/03/2011, 03:28
 
Fecha de Ingreso: diciembre-2010
Mensajes: 24
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: devolver array a javascript

La opción que estás utilizando es devolviendo únicamente texto.

Otra opción sería generar un xml y luego ya parsearlo con javascript.

Saludos
  #3 (permalink)  
Antiguo 24/03/2011, 03:33
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: devolver array a javascript

XML? jeje y sin tocar xml? es que no tengo mucha idea de eso.
  #4 (permalink)  
Antiguo 24/03/2011, 12:51
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Respuesta: devolver array a javascript

Al parecer estas usando jQuery, puedes manejarte con JSON que es una notación en objetos que te permite manipular tus datos de una manera sencilla.

En php haces algo como esto..

Código PHP:
$data = array();
foreach(
$row as $dato){
    if(
utf8_encode($dato) == NULL)
    
$data['registros'][] = utf8_encode($dato);
}
echo 
json_encode($data); 
Código PHP:
$.post("funcionphp.php", function(respuesta){
//aqui procesas respuesta con JSON
//tu array de datos esta en el objeto respuesta.registros
//ahora solo necesitas recorrerlos
$.each(respuesta.registros,function(obj){
//aqui imprimes cada registro con obj
});
}); 
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #5 (permalink)  
Antiguo 25/03/2011, 04:59
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: devolver array a javascript

Muchas gracias. Probaré esa solucion :D

Etiquetas: devolver, javascript
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 07:32.