Foros del Web » Programando para Internet » Javascript »

Recibir varios parametros por AJAX

Estas en el tema de Recibir varios parametros por AJAX en el foro de Javascript en Foros del Web. Hola!! Me gustaria que respondieseis a esta duda ke me surge..No se si es ke no es viable (ke lo dudo) o eske no se ...
  #1 (permalink)  
Antiguo 15/09/2013, 12:18
 
Fecha de Ingreso: septiembre-2013
Mensajes: 5
Antigüedad: 11 años, 2 meses
Puntos: 0
Información Recibir varios parametros por AJAX

Hola!! Me gustaria que respondieseis a esta duda ke me surge..No se si es ke no es viable (ke lo dudo) o eske no se me viene a la cabeza la forma de hacerlo. Es la siguiente:

Cuando enviamos una petecion por AJAX a un PHP, lo que obtenemos como resultado es el "echo" que el propio PHP tiene, hasta ahi, todo normal. Pero, ¿y si en el PHP queremos devolver variaas variables en el echo? ¿Cómo podria recogerlas en el ajax?
Se me ha ido la pinza?xD
Bueno agradezco la ayuda de antemano
Saludos
  #2 (permalink)  
Antiguo 15/09/2013, 12:29
Avatar de jgdev13  
Fecha de Ingreso: abril-2013
Mensajes: 40
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Recibir varios parametros por AJAX

en el aplicaciones incluidas con AJAX lo más recomendable es utilizar JSON.

Un buen ejemplo es que quieras devolver un array de php a ajax:

Código PHP:
Ver original
  1. $data = array(
  2.     "username" => "jgdev13",
  3.     "realname" => "joan gabriel",
  4.     "age" => 17
  5. );
  6.  
  7. echo json_encode($data);
  8. exit();

Ahora, en javascript cuando obtengas la respuesta del servidor utilizas:
Código Javascript:
Ver original
  1. // response = respuesta del servidor.
  2. response = JSON.parse(response);
  3.  
  4. console.log(reponse);
  5. /*
  6. console.log(response["username"]);
  7. console.log(response["realname"]);
  8. console.log(response["age"]);
  9. */

Espero que te sirva, saludos.
__________________
No intentes superar a nadie, ¡supérate a ti mismo!
  #3 (permalink)  
Antiguo 15/09/2013, 12:39
 
Fecha de Ingreso: septiembre-2013
Mensajes: 5
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Recibir varios parametros por AJAX

Gracias por la rápida respuesta! :D Voy a probar. De todas formas, lo ke estamos devolviendo en este caso es un ARRAY. No se pueden devolver variables distintas? Es decir, supongamos ke el PHP ejecuta una consulta en la ke obtiene un ID y un email. Para enviarlo como respuesta al AJAX sólo puede ser como ARRAY? O habría alguna manera de enviar las dos variables? (sin ser cadena de texto claro esta)
Saludos y muchas gracias!!
  #4 (permalink)  
Antiguo 15/09/2013, 12:44
Avatar de jgdev13  
Fecha de Ingreso: abril-2013
Mensajes: 40
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Recibir varios parametros por AJAX

En ese caso es lo mismo.

Código PHP:
Ver original
  1. $data = array($var1, $var2, $var3);
  2. echo json_encode($data);

y en javascript:
Código Javascript:
Ver original
  1. response = JSON.parse(data);
  2. console.log(response[0]); // $var1
  3. console.log(response[1]); // $var2
  4. console.log(response[2]); // $var3
__________________
No intentes superar a nadie, ¡supérate a ti mismo!
  #5 (permalink)  
Antiguo 15/09/2013, 12:49
 
Fecha de Ingreso: septiembre-2013
Mensajes: 5
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Recibir varios parametros por AJAX

Fantástico! Te lo agradezco mucho :)
  #6 (permalink)  
Antiguo 15/09/2013, 17:42
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Recibir varios parametros por AJAX

Hola:

No hay que olvidarse que la "X" de Ajax viene de XML... además, con ese formato se pueden hacer páginas accesibles...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: ajax, parametros, php, recibir
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 10:13.