jueves, 26 de febrero de 2009

Objeto XMLHttpRequest


Bajo la plataforma Ajax, JavaScript se comunica directamente con el servidor, a través del objeto XMLHttpRequest.


El objeto XMLHttpRequest es una parte fundamental de la plataforma Ajax, el cual comunica, de forma bidireccional, las partes cliente y servidor de la aplicación, permitiendo actualizar solo la zona de la página deseada a través de JavaScript.


Dependiendo del tipo de navegador se usan diferentes métodos para crear este objeto.

Internet Explorer usa un ActivexObject, mientras otros navegadores construyen un objeto JavaScript llamada XMLHttpRequest.


Para crear este objeto una forma adecuada es utilizar un try y un catch, como se muestra en el siguiente fragmento de código:
















Explicación:

  1. Primero se crea una variable llamada xmlHttp la cual almacena el valor del objeto XMLHttpRequest.
  2. Después se prueba crear el objeto XMLHttpRequest con XMLHttp=new XMLHttpRequest(). Esto es para los navegadores: Firefox, Opera y Safari.
  3. Si el método anterior falla entonces probamos con con: xmlHttp=new ActiveXObject("Msxml2.XMLHTTP") el cual es para internet explorer 6.0 o superior,
  4. Si el anterior método también falla, probar con xmlHttp=new ActiveXObject("Microsoft.XMLHTTP") el cual es para internet explorer 5.5 o superior.


Si ninguno de estos tres métodos funciona, llegamos a la conclusión de que el usuario tiene un browser obsoleto, y entonces será necesario avisar al usuario que su browser no soporta Ajax.

Introducción a Ajax

AJAX

El término AJAX es un acrónimo de Asynchronous JavaScript + XML, que se puede traducir como “JavaScript asíncrono + XML”.

La diferencia entre un proceso síncrono y uno asíncrono es que el proceso asíncrono no se pone a la espera de que un paso termine (se ejecuta el paso en background) y pasa al siguiente, mientras que en el proceso síncrono: el proceso se ejecuta paso por paso, sin pasar al siguiente hasta que termine de ejecutar el primero.

La característica fundamental de AJAX es permitir actualizar parte de una página con información que se encuentra en el servidor sin tener que refrescar completamente la página.

Ajax no es un nuevo lenguaje de programación, pero es una nueva manera para usar los estándares existentes.

Ajax es la unión de varias tecnologías que juntas pueden lograr cosas realmente impresionantes como GoogleMaps, Gmail, Outlook Web Access o algunas otras aplicaciones muy conocidas.

Las tecnologías que se usan en AJAX siempre han existido, lo que ha evolucionado es el uso que los desarrolladores Web hacen de esas tecnologías y herramientas. La clave está en cómo utilizar esas tecnologías para crear aplicaciones Web más rápidas y con interfaces de usuario más amigables.

Las tecnologías que forman AJAX son:

· XHTML y CSS, como lenguaje de estructura y diseño.

· DOM, DHTML para trabajar con la estructura del sitio.

· XML, XSLT y JSON, como formato de transporte de datos desde y hacia el servidor.

· XMLHttpRequest, para el intercambio asíncrono de información.

· JavaScript, para unir todas las demás tecnologías.