Hola utilizo unas funciones javascript XMLResponse para cargar varias (capas)partes de una pagina, el problema es que en ved de detectar cuando esta cargada una parte para cargar la siguiente, lo hago con un temporizador de javascript(setTimeout("obtenerDatos('verList.asp', 'tablaReservas');",1700); ) con lo cual normalmente funciona pero si por lo que sea va mas lento el servidor una parte no se carga y devuelve error:
Este es el codigo:
function handleHttpResponse() {
if (http.readyState == 4) {
if (http.status == 200) {
if (http.responseText.indexOf('invalid') == -1) {
// Armamos un array, usando la coma para separar elementos
//results = http.responseText.split(",");
results = http.responseText.split(",,");
document.getElementById(cajaContenedor).innerHTML = results[0];
enProceso = false;
if(cajaContenedor=="campoMensaje"){document.getEle mentById("tablaReservas").innerHTML =""}
}
else
{
alert("Invalid Text");
}
}
else
{
document.getElementById(cajaContenedor).innerHTML = "Cargando " + http.status;
}
}
}
var entra=0;
function obtenerDatos(url,contenedor) {
if (!enProceso && http) {
//var valor = escape(document.getElementById("ddlViajes").value) ;
//var url = "verFechaViaje.asp?viaje="+ valor;
cajaContenedor = contenedor;
document.getElementById(cajaContenedor).innerHTML =
"<div style='color:#707070;' align='center'><strong>Cargando...</Strong> <img src='../Imagenes/cargandopeq.gif' alt='cargando'/><div>";
http.open("GET", url+"&ms="+new Date().getTime(), true);
http.onreadystatechange = handleHttpResponse;
enProceso = true;
http.send(null);
}
else
{
alert("En Proceso o No http");
enProceso = false; // lo usamos para ver si hay un proceso activo
http = getHTTPObject();
}
}
function getHTTPObject() {
var xmlhttp;
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
//alert("Si XMLHttpRequest");
}
catch (e) {
alert("No XMLhttpRequest");
}
}else
{
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
// alert("Si Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
// alert("Si Microsoft.XMLHTTP");
}
catch (e) {
alert(" Actualice su navegador Web a una version mas reciente, para usar la aplicacion");
xmlhttp = false;
}
}
}
return xmlhttp;
}
Un Saludo y Muchas Gracias