martes, 15 de mayo de 2007

Objeto XMLHttpRequest

El objeto XMLHttpRequest es un elemento fundamental para la comunicación asincrónica con el servidor. Este objeto nos permite enviar y recibir información en formato XML y en general en cualquier formato .

La creación de un objeto de esta clase varía si se trata del Internet Explorer de Microsoft, ya que este no lo incorpora en JavaScript si no que se trata de una ActiveX:

if (window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

En cambio en FireFox y otros navegadores lo incorpora JavaScript y procedemos para su creación de la siguiente manera:

if (window.XMLHttpRequest) xmlHttp = new XMLHttpRequest();

Ahora como vimos, seria mejor trabajor este parte en una funcion que nos retorne un objeto XMLHttpRequest haciendo transparente el proceso en cuanto a navegador donde se esté ejecutando:
function nuevoAjax()
{
/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por lo que se puede copiar tal como esta aqui */
var xmlhttp=false;
try
{
// Creacion del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// Creacion del objet AJAX para IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!="undefined")
{
xmlhttp=new XMLHttpRequest();
}
return xmlhttp;
}
Es decir la función nuevoAjax se encargará de retornarnos un objeto de la clase XMLHttpRequest.
Las propiedades principales del objeto XMLHttpRequest son:
  • onreadystatechange Almacena el nombre de la función que se ejecutará cuando el objeto XMLHttpRequest cambie de estado.
  • readyState Almacena el estado del requerimiento hecho al servidor, pudiendo ser0 No inicializado (el método open no a sido llamado)
    - 1 Cargando (se llamó al método open)
    - 2 Cargado (se llamó al método send y ya tenemos la cabecera de la petición HTTP y el status)
    - 3 Interactivo (la propiedad responseText tiene datos parciales)
    - 4 Completado (la propiedad responseText tiene todos los datos pedidos al servidor)
  • responseText Almacena el string devuelto por el servidor, luego de haber hecho una petición.
  • responseXML Similar a la anterior (responseText) con la diferencia que el string devuelto por el servidor se encuentra en formato XML.

Los métodos principales del objeto XMLHttpRequest son:

  • open Abre un requerimiento HTTP al servidor.
  • send Envía el requerimiento al servidor.

En el proximo les mostrare un ejemplo en el cual se daran cuenta de su funcionamiento.

domingo, 6 de mayo de 2007

Efecto de reflejo en imagenes

Hace unos dias estuve googleando y me tope con algo curioso que fue el poner ese efecto de reflejo en las imagenes que hoy en dia estan siendo muy usadas en varias webs.

Este script que permite agregar un efecto de reflejo o espejo a nuestras imágenes. Simplemente basta indicar el atributo id de una etiqueta img.



Podemos ver unos ejemplos en la blog del autor, como también descargar un ejemplo en el cual se maneja mas de una imagen.