Ver Mensaje Individual
  #6 (permalink)  
Antiguo 10/01/2006, 01:59
califa010
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 3 meses
Puntos: 5
Buenas.

Otra opción es usar AJAX, JavaScript asincrónico + XML. Creo que es más elegante y hasta más sólido, aunque lleva más trabajo y no funciona para navegadores viejos. (Hay muchos tutoriales sobre AJAX en la red e incluso veo que hay un foro acá, si te interesa investigar el tema. Creo que para lo que querés es ideal).

Yo hice sólo un par de cosas con AJAX, así que no soy ningún experto, pero la lógica de la aplicación sería la siguiente:

El usuario aprieta un botón en un formulario para iniciar la búsqueda. Detectás ese evento con JS y hacés un request HTTP (un pedido, va) por GET a un script php (otra página), al cual le pasás como variable el texto que introdujo el usuario. El script está en "segundo plano" y el usuario ni va a saber que existe. No lo vas a mostrar, simplemente va a hacer el "trabajo sucio". En el momento de enviar los datos, mostrás algún texto, un gif animado tipo "loading", algo en flash, lo que fuera.

El script procesa los datos y devuelve un resultado. Puede ser en forma de XML, pero si es un resultado simple, puede devolver un string común y corriente a través de una variable pasada por GET, lo cual simplifica mucho el código (no hay que parsear un XML, ni nada "raro"). En el momento en que llegan los datos, en JS se dispara un evento que te permite saber que llegaron. Ahí ocultás el "loading" y mostrás el resultado como prefieras. Y ya está. Así te asegurás que el "loading" solo se va a mostrar mientras se estén procesando los datos efectivamente y no tenés que estar adivinando cuándo van a llegar.

Suerte