Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/08/2011, 13:08
ellokodeluis
 
Fecha de Ingreso: agosto-2011
Mensajes: 12
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: como cargar datos de forma asincronica

Con AJAX PUEDES INTENTAR LO SIGUIENTE:

//Carga el objeto AJAX "OJO CADA NAVEGADOR CARGA EL OBJETO DE UNA FORMA DIFERENTE ASI QUE LO SOLUCIONAMOS CON UN TRY CATCH, GRACIAS A EL MALDITO INTERNET EXPLORER QUE NO SE ADAPTA"

function getXMLHTTPRequest() {
try {
req = new XMLHttpRequest();
} catch(err1) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (err2) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (err3) {
req = false;
}
}
}
return req;
}


var http = getXMLHTTPRequest(); //Guardas el objeto en una varible.

function datos() {
var myurl = 'datos.php'; // llamas al archivo php con el cual mediante xml tienes la informacion que sera motrada al hacer click a uno de los elementos de la lista.
myRand = parseInt(Math.random()*999999999999999);//Esto es un ingenio por asi decirlo que se utiliza para evitar que se recargue la página debido al problema de la cáche con los navegadores.
var modurl = myurl+"?rand="+myRand;
http.open("GET", modurl, true); // Se utiliza el método GET.
http.onreadystatechange = useHttpResponse; //Llama a la fúncion mientras va cambiando el estado de la peticón.
http.send(null);//Envia la petición
}



function useHttpResponse() {
if (http.readyState == 4) { // Que este a 4 significa que se han recibido los datos.
if(http.status == 200) { // Que este a 200 significa que los datos estan "OK" , es decir que son correctos.
var timeValue = http.responseXML.getElementsByTagName("información ")[0]; // Aqui abre el primer tag del archivo xml.
document.getElementById('id del div').innerHTML = timeValue.childNodes[0].nodeValue; //Aqui imprime en el div que creaste en el documento llamado "id del div" en este caso
}
} else {
document.getElementById('showtime').innerHTML = '<img src="anim.gif">'; si quieres mientras se va cargando imprime esta imagen


Y ya esta esto es todo , claro tienes que tener un archivo php , por ejemplo este:
Código PHP:

<?php
header
('Content-Type: text/xml');
sleep (3);
echo 
"<?xml version=\"1.0\"?><clock1><timenow>".date('H:i:s')."</timenow></clock1>";
?>

  }
}

Última edición por ellokodeluis; 13/08/2011 a las 13:14