Ver Mensaje Individual
  #8 (permalink)  
Antiguo 24/10/2008, 01:25
matak
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 16 años, 5 meses
Puntos: 5
Respuesta: Actualizar pagina sin recargar

A ver si esto te puede ayudar...

Código javascript:
Ver original
  1. function actMensajeria(datos){
  2.   divcontenido_mensajeria = document.getElementById('contenido_mensajeria');
  3.   ajaxActMsg=objetoAjax();
  4.     ajaxActMsg.open("GET", datos);
  5.     ajaxActMsg.onreadystatechange=function() {
  6.         if (ajaxActMsg.readyState==4) {
  7.                    if(ajaxActMsg.responseText.length > 5){
  8.                        //alert("-"+ajax.responseText+"-"+ajax.responseText.length+"-");
  9.                        divcontenido_mensajeria.innerHTML = ajaxActMsg.responseText;
  10.                    }
  11.         }
  12.     }
  13.   ajaxActMsg.send(null)
  14. }

Esta es una función que yo tengo para actualizar la mensajería interna de una aplicación que estoy programando. Se ejecuta periódicamente cada minuto. La cosa es que si el usuario no tiene ningun mensaje nuevo no realiza el innerHTML. Cuando la programe hice...

Código javascript:
Ver original
  1. ajaxActMsg.onreadystatechange=function() {
  2.         if (ajaxActMsg.readyState==4) {
  3.                    if(ajaxActMsg.responseText.length !=0){                      
  4.                        divcontenido_mensajeria.innerHTML = ajaxActMsg.responseText;
  5.                    }
  6.         }
  7.     }

Que pasa, que me di cuenta que siempre me realizaba el innerHTML, aunque no escribiera nada. Entonces realice la siguiente comprobación

Código javascript:
Ver original
  1. alert("- "+ajax.responseText+"- "+ajax.responseText.length+" -");

Cuando el servidor respondía con una página en blanco el alert me resultaba


- - 4 -


de ahi que pusiera...

Código javascript:
Ver original
  1. ajaxActMsg.onreadystatechange=function() {
  2.         if (ajaxActMsg.readyState==4) {
  3.                    if(ajaxActMsg.responseText.length > 5){
  4.                        //alert("-"+ajax.responseText+"-"+ajax.responseText.length+"-");
  5.                        divcontenido_mensajeria.innerHTML = ajaxActMsg.responseText;
  6.                    }
  7.         }
  8.     }

Puede que por algun bit de control o algo asi difiera el contenido del div del contenido del respose, aunque estos sean iguales. Comprueba con un alert ambos contenidos

Código javascript:
Ver original
  1. alert (document.getElementById("online").innerHTML.length);
  2. alert (ajax.responseText.length);

Espero te ayude,...

Saludos
__________________
Si quieres puedes y si puedes debes. Imposible is nothing!!!