Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/11/2010, 11:53
Avatar de theSpecialist
theSpecialist
 
Fecha de Ingreso: noviembre-2010
Mensajes: 5
Antigüedad: 14 años
Puntos: 3
Respuesta: Recoger Array php desde AJAX

Ok creo que debí explicarte mejor...

Jquery es una maravillosa librería JavaScript, esta facilita de una manera increíble el uso de AJAX, de manera que te evitas al 100% esa instanciadera y toda esas complicaciones... ademas de que tu código queda mucho mas optimizado para trabajar en la mayoría de navegadores incluso IE...

Para utilizar la librería debes incluirla en tu script, puedes incluirla en el <head> de tu aplicacion:
Código Javascript:
Ver original
  1. <script src="http://code.jquery.com/jquery-1.4.4.js"></script>

Puedes usar esa versión online o bien descargarte el js desde el sitio de jquery.com..

Te daré una breve explicación de como trabaja la función $.Ajax de Jquery.. pero lo ideal es que entres a Jquery.com y leas la documentacion que está muy bien elaborada y hasta un niño la entiende..

Ok una vez incluida tu librería Jquery puedes comenzar a utilizar las funciones..
las funciones de jquery por defecto siempre comienzan con $, veamos la función $.ajax:

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-1.4.4.js"></script>
<script>
function obtenerTalentos(){
  $.ajax({
    type: 'GET',//Este es el metodo que utilizaremos
    dataType: "json",// Este es el tipo de data a utilizar en sustitución de XML
    url: 'mi_script.php',// Este es tu Script de lado del servidor.
    success:function(data){ //Esto pasará si todo sale bien...
	//en data tenemos todo lo recogido desde el array php del server...
	//Recorriendo data
	alert(data.musico);              
	alert(data.pintor);              
	alert(data.atleta);
    }
  });
}
</script>
</head>

<body>
<button onclick="obtenerTalentos()">Obtener Talentos</button>
</body>
</html> 
Y del lado del servidor usaras la función nativa de php json_encode, para codificar tu array a notación json.. puedes probar el script solo para que veas lo que es una notación json, si quieres profundizar en esto te recomiendo wikipedia, no es nada del otro mundo, simplemente es una cadena string escrita con ciertas normativas para poder ser interpretada por JavaScript... igual la puedes escribir manualmente e imprimirla..

Código PHP:
Ver original
  1. <?php
  2.     $my_array = array('musico'=>'beethoven','pintor'=>'picazo','atleta'=>'felix sanchez');
  3.     print json_encode($my_array);
  4. ?>

Bueno, ya con esto estamos listo para probar tu primer request ejax, una vez tengas los datos en JavaScript puedes hacer lo que te venga en mente con ellos, ya sea colocarlos en un select o simplemente mostrarlo en pantalla.....

y lo del script PHP, puedes traer tu array de donde quieras o como sea, solo tienes que imprimirlo Json, en caso que quieras usar XML, pues cambia el type y solo tendrás que escribir XML con tu script php....

Recuerdo cuando daba mis primeros pasos con esto hace 2 años.. nadie me daba un empujón.. y gracias a un colega fue que pude ver detrás de la puerta... espero que esto te haya ayudado...

Saludos desde la República!