Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2008, 15:36
consigna
 
Fecha de Ingreso: enero-2008
Mensajes: 57
Antigüedad: 16 años, 4 meses
Puntos: 0
Problema al redireccionar a otra pagina, al finalizar llamada Ajax

Hola buenas, pues resulta que tengo un problema tonto, que no soy capaz a dar con el. resulta que tengo una funcion ajax que la llamo cuando estoy actualizando una bd y que deberia finalizar cuando elimino un fichero desde otra aplicacion c++. El codigo de la funcion Ajax es el siguiente:

Código PHP:
function aj(){
    if(
window.XMLHttpRequest){
        return new 
XMLHttpRequest();
    }
    else{
        try{
            return new 
ActiveXObject('Microsoft.XMLHTTP');
        }catch(
e){
            
alert('tu navegador no soporta ajax');
            return 
false;
        }
    }
}


function 
actualiza(url){
   var 
rpc2=aj();
    if(
rpc2){
        
rpc2.open('GET',url,true);
        
rpc2.onreadystatechange=function(){
            if(
rpc2.readyState==4){
                
actualizo=rpc2.responseText;
            }
        }
        
rpc2.send(null);
    }
}

var 
actualizo;

function 
Rellenar_Bd(url){

  
window.document.getElementById('contenedor').style.height="650px";
  
window.document.getElementById('loading_tablas').style.display='inline';
  
  
window.onload=function(){
     var 
pp=setInterval(function(){
      if(
actualizo==1){
          
window.document.getElementById     ('loading_tablas').style.display='none';
          
document.location.href='index.php?seccion=2&act=3';
      };
   
actualiza(url+'&'+Math.random());
  },
700);
 }

Como podeis ver esta ultima funcion Rellenar_bd, hace una peticion ajax cada 700msg, a la siguiente pagina

Código PHP:
if(file_exists("tmp/status.log"))
    echo 
"0";
else
    echo 
"1"
que lo unico que hace es mirar a ver si existe el fichero status.log y devolver 0 o 1.
El problema viene que cuando deja de existir actualiza=1, y en teoria se tendria que cumplir la condicion de la funcion Rellena_Bd y redireccionarme a la sgt pagina ( document.location.href='index.php?seccion=2&act=3' ;). y lo que ocurre es que en firefox funciona, pero en explorer, cuando actualiza=1 se ejecuta
(window.document.getElementById ('loading_tablas').style.display='none'), pero se queda pillado como cargando cada medio segundo o por ahi, otra pagina, pero que no acaba de cargarla.

Espero que alguien me pueda ayudar, ya que no soy capaz a dar con ello.

Saludos y Gracias