Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/10/2011, 01:00
Avatar de morfasto
morfasto
 
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 10 meses
Puntos: 8
duda de CARGANDO... con Ajax

Hola, que tal?

Tengo un script en ajax que sirve para refrescar cieto div con informacion de un php.
La duda que tengo es que a veces cuando monto el script en mi host, cuando accedo, se demora en cargar, entonces queria ver la manera de hacer para mostrar un mensaje mientras carga como: "Cargando...", en el mismo div donde se mostraria la informacion del php.

Este es mi codigo:
Código Javascript:
Ver original
  1. var http_request = false;
  2. function makePOSTRequest(url, parameters, funcion) {
  3.   http_request = false;
  4.   if (window.XMLHttpRequest) { // Mozilla, Safari,...
  5.      http_request = new XMLHttpRequest();
  6.      if (http_request.overrideMimeType) {
  7.         // set type accordingly to anticipated content type
  8.         //http_request.overrideMimeType('text/xml');
  9.         http_request.overrideMimeType('text/html');
  10.      }
  11.   } else if (window.ActiveXObject) { // IE
  12.      try {
  13.         http_request = new ActiveXObject("Msxml2.XMLHTTP");
  14.      } catch (e) {
  15.         try {
  16.            http_request = new ActiveXObject("Microsoft.XMLHTTP");
  17.         } catch (e) {}
  18.      }
  19.   }
  20.   if (!http_request) {
  21.      alert('Cannot create XMLHTTP instance');
  22.      return false;
  23.   }
  24.  
  25.   http_request.onreadystatechange = funcion;
  26.   http_request.open('POST', url, true);
  27.   http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  28.   http_request.setRequestHeader("Content-length", parameters.length);
  29.   http_request.setRequestHeader("Connection", "close");
  30.   http_request.send(parameters);
  31. }
  32.  
  33. function alertContents() {
  34.   if (http_request.readyState == 4) {
  35.      if (http_request.status == 200) {
  36.         //alert(http_request.responseText);
  37.         result = http_request.responseText;
  38.         document.getElementById('div').innerHTML = result;            
  39.      } else {
  40.         alert(http_request.status);
  41.      }
  42.   }
  43. }
  44.  
  45. function get() {
  46.   var poststr = "codigo=" + encodeURI( document.getElementById("producto_id").value );
  47.   makePOSTRequest('generar_producto.php', poststr, alertContents);
  48. }
Se que si el http_request.readyState es igual a 1, significa que todavia no esta completo, que recien se inicia el proceso. Pero no sabria como modificar mi codigo para poder mostrar el mensaje de "Cargando..." cuando todavia no se completa.

Alguna idea?

Muchas gracias!