Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2007, 15:12
losporros
 
Fecha de Ingreso: noviembre-2005
Ubicación: Torreon Coahuila
Mensajes: 100
Antigüedad: 19 años
Puntos: 1
Peticion se queda en Cargando.... existe el sleep() o Reintento automatico

Hola buenas tardes.
Utilizo la siguiente funcion para realizar unos combos anidados, la mando llamar con el evento Onchange para mandar llamar al siguiente combo.
A veces la capa se traba y se queda con el texto "Cargando...." osea en este pedazo de codigo,
Código PHP:
    if (ajax.readyState==1) {
                 
capaContenedora.innerHTML="Cargando.......";
         } 
Ay forma de si no se cargo la peticion se vuelva a reintentar automaticamente.
Como seria? Si la peticion no se cargoo ay error hacer la peticion nuevamente?
Investigue y estos son los estados:
Cita:
0: "Uninitialized", el objeto aún no se ha inicializado.
1: "Loading", se estan cargando los datos.
2: "Loaded", se han cargado los datos.
3: "Interactive", el usuario puede interactuar con el objeto, pero aún no está cargado completamente.
4: "Complete", el objeto se ha cargado completamente.

Aqui les dejo el codigo de la libreria seguramente algunos ya la abran utilizado
Código PHP:
/*
*Esta libreria es una libreria AJAX creada por Javier Mellado con la inestimable
*colaboracion de Beatriz Gonzalez.
*descargada del portal AJAX Hispano http://www.ajaxhispano.com
*contacto [email protected]
*
*Puede ser utilizada, pasada, modificada pero no olvides mantener 
*el espiritu del software libre y respeta GNU-GPL
*/

function creaAjax(){
  var 
objetoAjax=false;
  try {
   
/*Para navegadores distintos a internet explorer*/
   
objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (
e) {
   try {
     
/*Para explorer*/
     
objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
     } 
     catch (
E) {
     
objetoAjax false;
   }
  }

  if (!
objetoAjax && typeof XMLHttpRequest!='undefined') {
   
objetoAjax = new XMLHttpRequest();
  }
  return 
objetoAjax;
}

 function 
FAjax (url,capa,valores,metodo)
{
   var 
ajax=creaAjax();
   var 
capaContenedora document.getElementById(capa);

/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
 
if(metodo.toUpperCase()=='POST'){
    
ajax.open ('POST'urltrue);
    
ajax.onreadystatechange = function() {
         if (
ajax.readyState==1) {
                 
capaContenedora.innerHTML="Cargando.......";
         }
         else if (
ajax.readyState==4){
            if(
ajax.status==200)
            {
                 
document.getElementById(capa).innerHTML=ajax.responseText
            }
            else if(
ajax.status==404)
                 {

                     
capaContenedora.innerHTML "La direccion existe";
                 }
             else
                 {
                     
capaContenedora.innerHTML "Error: ".ajax.status;
                 }
        }
    }
    
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    
ajax.send(valores);
    return;
}
/*Creamos y ejecutamos la instancia si el metodo elegido es GET*/
if (metodo.toUpperCase()=='GET'){

    
ajax.open ('GET'urltrue);
    
ajax.onreadystatechange = function() {
         if (
ajax.readyState==1) {
                 
capaContenedora.innerHTML="Cargando.......";
         }
         else if (
ajax.readyState==4){
            if(
ajax.status==200){ 
                 
document.getElementById(capa).innerHTML=ajax.responseText
            }
            else if(
ajax.status==404)
                 {

                     
capaContenedora.innerHTML "La direccion existe";
                 }
                 else
                 {
                     
capaContenedora.innerHTML "Error: ".ajax.status;
                 }
        }
    }
    
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    
ajax.send(null);
    return
}

Saludos desde Mexico....... y Exito para todos

Última edición por losporros; 30/09/2007 a las 15:19