Saltear al contenido principal

¿Qué es AJAX? (II)

Programación Ajax
1. ¿Qué es AJAX?
2. ¿Qué es AJAX? (II)

Veíamos en nuestro anterior post  ¿qué es AJAX? , una introducción a esta técnica de programación web y presentábamos un primer ejemplo muy sencillo para comprobar su funcionamiento (estos posts, son extractos de nuestro Curso de AJAX, elaborado por Víctor Santos)

En esta continuación, veremos que la creación de un objeto XMLHttpRequest no es del todo trivial, dado que hay incompatibilidades entre los navegadores de Microsoft (esto es, las distintas versiones de Internet Explorer) y todos los demás.

Existen distintas técnicas para determinar qué navegador se está usando y en qué modo se debe crear el objeto que posteriormente permitirá hacer las peticiones de información. El código que indicamos a continuación es de los más utilizados en la web hoy en día:

Como puede observarse, hemos creado una función que devuelve un objeto con el que es posible crear la conexión. Por tanto, debemos , podemos cambiar el código de nuestro primer ejemplo de la siguiente forma:

En esencia, la función creada intenta detectar la existencia del objeto XMLHttpRequest, en cuyo caso estaríamos tratando con un navegador del tipo Firefox, Opera, Safari, Chrome, etc. En caso de que no exista, estaríamos navegando con un cliente Internet Explorer, en el cual es necesario distinguir entre versiones. Las versiones más modernas deben ser instanciadas mediante un objeto ActiveXObject, indicándole que se usa la versión 2 de MSXML: MSXML2.XMLHTTP; por su parte, las versiones más antiguas utilizan la versión anterior, Microsoft.XMLHTTP.

Una versión alternativa intenta crear el objeto con la versión más reciente del MSXML, en caso de estar navegando con Internet Explorer:

 

Los problemas debidos a incompatibilidades entre navegadores son una de las principales razones por las que es conveniente recurrir al uso de bibliotecas estandarizadas disponibles en la web (muchas de ellas libre y sin coste alguno: jQuery, Dojo, etc.).

Esta entrada tiene un comentario

  1. […] objeto XMLHttpRequest, así como de los atributos y métodos que posee. En el siguiente post “¿qué es AJAX (II)?”, veremos un poco más sobre él y cómo solucionar los problemas de incompatibilidad con el […]

Los comentarios están cerrados.

Volver arriba