Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/09/2011, 17:36
javiDP
 
Fecha de Ingreso: febrero-2008
Ubicación: Sevilla
Mensajes: 91
Antigüedad: 16 años, 9 meses
Puntos: 15
Respuesta: contador de usuarios inscritos con ajax

Hay muchos tutoriales de ajax por la red, te recomiendo que te leas alguno.

Igualmente te dejo un ejemplo adaptado a tu caso:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function peticionAjax(urlPeticion) {
  3.     var res = '';
  4.     var ajax = false;
  5.     try {
  6.         ajax = new ActiveXObject("Msxml2.XMLHTTP");
  7.     } catch (e) {
  8.         try {
  9.             ajax = new ActiveXObject("Microsoft.XMLHTTP");
  10.         } catch (E) {
  11.             ajax = false;
  12.         }
  13.     }
  14.     if (!ajax && typeof XMLHttpRequest != 'undefined') {
  15.         ajax = new XMLHttpRequest();
  16.     }
  17.     var url = urlPeticion;
  18.     ajax.open("POST", url, false);
  19.     ajax.setRequestHeader('Content-Type',
  20.             'application/x-www-form-urlencoded; charset=UTF-8');
  21.     ajax.onreadystatechange = function() {
  22.         if (ajax.readyState == 4) {
  23.             var res = ajax.responseText;
  24.             var xhr_data = res.substring(res.indexOf('<etiquetaElementoXML>'), res.indexOf('</etiquetaElementoXML>'));
  25.             xhr_data = xhr_data.substring(xhr_data.indexOf('>'), xhr_data.indexOf('</'));
  26.             if (!isNaN(xhr_data)) {
  27.                 document.getElementById('idContador').value=xhr_data;
  28.             }
  29.             setTimeout( function() { peticionAjax(url);}, 5000);
  30.         }
  31.     }
  32.     ajax.send();
  33. }
  34. setTimeout(function() { peticionAjax(urlPeticion); }, 1000);
  35. </script>

En el parametro urlPeticion debes poner la direccion donde vas a llamar al servidor para que te responda con el numero de registros que hay.

etiquetaElementoXML es la etiqueta donde vas a enmascarar el numero de registros dentro del xml que devuelve el servidor.

idContador es el id de por ejemplo un cuadro de texto donde vas a mostrar el numero de registros.

La peticion hace lo siguiente:

Realiza la peticion, coge la etiqueta xml donde esta el numero de registros y luego el numero dentro de esta etiqueta, comprueba que es un numero valido y lo pone en idContador. Luego hace una peticion nueva a los 5 segundos (5000 milisegundos). Asi hasta que el cliente cierre o cambie la pagina.

El xml que responde el servidor podria ser asi:
<?xml version="1.0"?>
<numeroRegistros>
<etiquetaElementoXML>1000</etiquetaElementoXML>
</numeroRegistros>

Basicamente no necesitas mas que modificar la url del servidor, como quieres llamar a la etiqueta XML y el id del campo donde vayas a mostrar el numero de registros.

Depende de donde coloques el script, quizas necesites añadirlo como funcion al onLoad de tu body, o bien al final de la pagina.

Un saludo!