Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Contador en Ajax

Estas en el tema de Contador en Ajax en el foro de Frameworks JS en Foros del Web. Saludos amigos foreros, Trato hacer un contador nada sofisticado, tengo lo siguiente: Código: <script type="text/javascript" charset="utf-8"> function getHTTPObject() { var xmlhttp; if(window.XMLHttpRequest){ xmlhttp = new ...
  #1 (permalink)  
Antiguo 15/11/2006, 01:31
Avatar de Erick_pm  
Fecha de Ingreso: abril-2004
Mensajes: 55
Antigüedad: 20 años
Puntos: 1
Pregunta Contador en Ajax

Saludos amigos foreros,
Trato hacer un contador nada sofisticado,
tengo lo siguiente:

Código:
<script type="text/javascript" charset="utf-8">

function getHTTPObject() {
  var xmlhttp;
 
  if(window.XMLHttpRequest){
    xmlhttp = new XMLHttpRequest();
  }
  else if (window.ActiveXObject){
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    if (!xmlhttp){
        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    
}
  return xmlhttp;

  
}
var http = getHTTPObject(); // We create the HTTP Object



        var url = "contador.php"; // Documento a llamar (simple contador)
	   function handleHttpResponse() {	
		if (http.readyState == 4) {
			  if(http.status==200) {
			  	var results=http.responseText;
			  document.getElementById('online').innerHTML = results;
			  }
  			}
		}
		
	    function requestCustomerInfo() {      
            http.open("GET", url , true);
			http.onreadystatechange = handleHttpResponse;
			http.send(null);
			//setTimeout (requestCustomerInfo, 3000);
        }

/* Establece el tiempo 1 minuto = 60000 milliseconds. */ 
window.setInterval("requestCustomerInfo() ",3000); 

//setTimeout ("requestCustomerInfo() ", 3000);

</script>

</head>

<body>

<div id="online"><strong>Numero</strong>: 0</div>

</body>
</html>
Cada 3 segundos llama a un archivo PHP (contador.php) que me devuelve un numero aumentado en 1,
El problema esta en que no funciona en internet Explorer (la versión que tengo es la 7.0) pero si funciona en Mozilla Firefox(2.0), ¿Acaso es problema de configuración de mi internet explorer?

contador.php:
Código:
<?php

$archivo = './online.txt';
$fp = fopen($archivo,"r");
$contador = fread($fp, filesize($archivo));
fclose($fp);

echo "<div id=\"online\"><strong>Numero</strong>: ".$contador."</div>";

++$contador;

$fp = fopen($archivo,"w+"); 
fwrite($fp, $contador, 26); 
fclose($fp); 

?>
Agradecería bastante la ayuda prestada.

Nos leemos.

Última edición por Erick_pm; 15/11/2006 a las 07:31
  #2 (permalink)  
Antiguo 15/11/2006, 01:55
Avatar de Erick_pm  
Fecha de Ingreso: abril-2004
Mensajes: 55
Antigüedad: 20 años
Puntos: 1
Ya consegui que funcione en el internet explorer.

Código:
function requestCustomerInfo() {      
              http.open("GET", url , true); //Cambie GET por POST
	 http.onreadystatechange = handleHttpResponse;
	 http.send(null);
	 //setTimeout (requestCustomerInfo, 3000);
 }
Solamente cambie el "GET" por el "POST" en el dicho código.
Alguien sabe por que ocurre esto?

Gracias de antemano.
  #3 (permalink)  
Antiguo 15/11/2006, 13:12
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading...............



bueno en Internet Bug Exploit solo tu primera peticion por GET funciona, y luego se carga del cach'e prueba poniendo siempre:

http.open("GET", url+"?rand="+Math.random() , true);

lo que haces es aniadir un valor RANDOM asi siempre te cargara una peticion nueva.



connection closed.
__________________

Maborak Technologies
  #4 (permalink)  
Antiguo 15/11/2006, 23:47
Avatar de Erick_pm  
Fecha de Ingreso: abril-2004
Mensajes: 55
Antigüedad: 20 años
Puntos: 1
Wow, muchas gracias amigo, buena solución.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:32.