Investigacion de Ajax
Investigacion de Ajax
Investigacion de Ajax
Realizar peticiones al servidor y esperar respuesta puede consumir tiempo (el tiempo
necesario para recargar una pgina completa). Para agilizar los desarrollos web surgi Ajax
Podramos dar esta definicin de Ajax: Ajax es un conjunto de mtodos y tcnicas que
permiten intercambiar datos con un servidor y actualizar partes de pginas web sin
necesidad de recargar la pgina completamente.
Aunque Ajax se pens inicialmente para transferir datos en un solo formato (XML),
actualmente Ajax permite la transmisin de datos en mltiples formatos: XML, JSON,
EBML, texto plano, HTML, etc.
EJERCICIO OPCIONAL
Este ejercicio no forma parte del curso, por eso se califica como opcional. El ejercicio
consiste en ver un breve ejemplo de uso de Ajax para realizar sugerencias de bsqueda
(algo parecido a lo que hacen los buscadores cuando muestran sugerencias una vez hemos
empezado a introducir una palabra).
Para desarrollar este ejercicio necesitas tener conocimientos bsicos de PHP y disponer de
un servidor (puede ser un servidor remoto o un servidor local como WAMP XAMPP o
similar).
Escribe este cdigo y gurdalo en el servidor con el nombre de archivo pruebaAjax.html:
function mostrarSugerencia(str) {
var xmlhttp;
if (str.length==0) { document.getElementById("txtSugerencia").innerHTML=""; return; }
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("txtSugerencia").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","listadoDatos.php?q="+str,true);
xmlhttp.send();
}
</script></head>
<body><h3>Empieza a escribir un nombre en la casilla para obtener una sugerencia:</h3>
<form action="">
Nombre: <input type="text" id="txt1" onkeyup="mostrarSugerencia(this.value)" />
</form>
<p>Sugerencias: <span id="txtSugerencia"></span></p>
</body></html>
// Rescatamos el parmetro q que nos llega mediante la url que invoca xmlhttp
$q=$_REQUEST["q"]; $hint="";
// Buscamos la coincidencia en el primer caracter entre nombres del array con el primer caracter de q
if ($q !== ""){
$q=strtolower($q); $len=strlen($q);
foreach($a as $name) {
if (stristr($q, substr($name,0,$len))) {
if ($hint==="") { $hint=$name; }
else { $hint .= ", $name"; }
}
}
}
// Devolvemos "no hay sugerencias" si no se encuentran coincidencias
// o los datos en $hint (nombres separados por comas) si se encontraron coincidencias
echo $hint==="" ? "No hay sugerencias" : $hint;
?>
Accede al archivo html invocando la ruta correcta (que depender de la ruta dentro de la
que
est
alojado
en
el
servidor.
La
ruta
ser
por
ejemplo
http://aprenderaprogramar.com/pruebaAjax.html). Fjate en que lo interesante de este
ejemplo es que se recuperan datos que se encuentran en el servidor.