Foros del Web » Programando para Internet » Javascript »

Aviso de espera

Estas en el tema de Aviso de espera en el foro de Javascript en Foros del Web. Hola, quisiera saber si me puden dar una mano con este detalle. Tengo una base mysql la cual al ser consultada tarda mas de 10 ...
  #1 (permalink)  
Antiguo 15/08/2014, 09:44
Avatar de asus090102  
Fecha de Ingreso: mayo-2012
Ubicación: Ensenada- Buenos Aires
Mensajes: 67
Antigüedad: 11 años, 11 meses
Puntos: 1
Aviso de espera

Hola, quisiera saber si me puden dar una mano con este detalle.

Tengo una base mysql la cual al ser consultada tarda mas de 10 segundos en algunos casos.
¿Hay forma que en el caso de inicio de espera por consulta pueda salir en ese momento alguna leyenda que diga por ejemplo: "Consultando base de datos. Por favor espere." y que desaparezca una vez los datos sean mostrados en pantalla?

Desde ya muchísimas gracias.
  #2 (permalink)  
Antiguo 15/08/2014, 10:55
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Aviso de espera

Como mencionas a una consulta a una BD y publicas esto en el foro de JavaScript, debo de suponer que estás usando Ajax. De ser así, el objeto XHR tiene estados, siendo el estado 4 el que indica que ya se obtuvo una respuesta del servidor, por lo cual podrías hacer algo así:

Código Javascript:
Ver original
  1. var mensaje = document.getElementById("id_mensaje");
  2.  
  3. if (xhr.readyState < 4){
  4.     mensaje.style.display = "block";
  5. }
  6. else{
  7.     mensaje.style.display = "none";
  8. }

En donde mensaje es el elemento que contiene el mensaje que quieres mostrar. También podría tratarse de un GIF de carga, eso ya depende de ti.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 15/08/2014, 13:54
 
Fecha de Ingreso: noviembre-2013
Mensajes: 147
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Aviso de espera

Yo lo hago de esta forma:
en la pagina con la que envio la solicitud a la BD ejecuto una funcion javascrip que abre una pagina intermedia con el mensaje :

esta es la funcion:
Código Javascript:
Ver original
  1. //***********************************
  2.    //MENSAJE DE PROCESANDO...
  3.    //***********************************
  4.     var ele_proces = document.getElementById("div_tablax");
  5.     var proceso_url = "MientrasCarga.jsp";
  6.    
  7.     pet5.open("GET", proceso_url);
  8.     pet5.onreadystatechange = function(){
  9.        if (pet5.readyState === 4){
  10.           //escribimos la respuesta
  11.           ele_proces.innerHTML = pet5.responseText;
  12.        }
  13.     };
  14.    pet5.send(null);

en esa pagina intermedia que muestro dentro de un DIV tengo este codigo :

Código HTML:
Ver original
  1. <td align="center">
  2.                     <img src="Imagenes/clock_ajax_loader.gif" width="30" height="30" alt="ajax-loader"/>
  3.                     <font color="#848484">Procesando...</font>
  4.                 </td>

que muestra el mensaje y un icono que da vueltas...los puedes bajar de AJAXLOAD

cuando se completa la ejecucion de la consulta, cambio el DIV donde se esta mostrndo la pagina intermedia y lo que hago es llenarla con los datos que quiero mostrar...otra opcion es blanquear el DIV.

Etiquetas: espera
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 23:05.