Jcym
Páginas: 10 (2480 palabras)
Publicado: 13 de mayo de 2012
La historia de AJAX está íntimamente relacionada con un objeto de programación llamado
XMLHttpRequest. El origen de este objeto se remonta al año 2000, con productos como Exchange
2000, Internet Explorer 5 y Outlook Web Access.
Todo comenzó en 1998, cuandoAlex Hopmann y su equipo se encontraban desarrollando la entonces futura versión de Exchange 2000. Elpunto débil del servidor de correo electrónico era su cliente vía web, llamado OWA (Outlook Web Access).
Durante el desarrollo de OWA, se evaluaron dos opciones: un cliente formado sólo por páginas HTML estáticas que se recargaban constantemente y un cliente realizado completamente con HTML dinámico o DHTML. Alex Hopmann pudo ver las dos opciones y se decantó por la basada en DHTML. Sin embargo,para ser realmente útil a esta última le faltaba un componente esencial: "algo" que evitara tener que enviar continuamente los formularios con datos al servidor.
Motivado por las posibilidades futuras de OWA, Alex creó en un solo fin de semana la primera versión de lo que denominó XMLHTTP. La primera demostración de las posibilidades de la nueva tecnología fue un éxito, pero faltaba lo másdifícil: incluir esa tecnología en el navegador Internet Explorer.
Si el navegador no incluía XMLHTTP de forma nativa, el éxito del OWA se habría reducido enormemente. El mayor problema es que faltaban pocas semanas para que se lanzara la última beta de Internet Explorer 5 previa a su lanzamiento final. Gracias a sus contactos en la empresa, Alex consiguió que su tecnología se incluyera en la libreríaMSXML que incluye Internet Explorer.
De hecho, el nombre del objeto (XMLHTTP) se eligió para tener una buena excusa que justificara su inclusión en la librería XML de Internet Explorer, ya que este objeto está mucho más relacionado con HTTP que con XML.
2. La primera aplicación
2.2 Código fuente
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/
xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Hola Mundo con AJAX</title>
<script type="text/javascript">
function descargaArchivo() {
// Obtener la instancia del objeto XMLHttpRequest
if(window.XMLHttpRequest) {
peticion_http = new XMLHttpRequest();
}else if(window.ActiveXObject) {
peticion_http = newActiveXObject("Microsoft.XMLHTTP");
}// Preparar la funcion de respuesta
peticion_http.onreadystatechange = muestraContenido;
// Realizar peticion HTTP
peticion_http.open('GET', 'http://localhost/holamundo.txt', true);
peticion_http.send(null);
function muestraContenido() {
if(peticion_http.readyState == 4) {
if(peticion_http.status == 200) {
alert(peticion_http.responseText);
}
}
}}window.onload = descargaArchivo;
</script>
</head>
<body></body>
</html>
La aplicación AJAX completa más sencilla consiste en una adaptación del clásico"Hola Mundo". En este caso, una aplicación JavaScript descarga un archivo del servidor y muestra su contenido sin necesidad de recargar la página.
Código fuente completo:
En el ejemplo anterior, cuando secarga la página se ejecuta el método JavaScript que muestra el contenido de un archivo llamadoholamundo.txt que se encuentra en el servidor. La clave del código anterior es que la petición HTTP y la descarga de los contenidos del archivo se realizan sin necesidad de recargar la página.
2.2.1 Análisis detallado
La aplicación AJAX del ejemplo anterior se compone de cuatro grandesbloques: instanciar el objetoXMLHttpRequest, preparar la función de respuesta, realizar la petición al servidor y ejecutar la función de respuesta.
Todas las aplicaciones realizadas con técnicas de AJAX deben instanciar en primer lugar el objetoXMLHttpRequest, que es el objeto clave que permite realizar comunicaciones con el servidor en segundo plano, sin necesidad de recargar las páginas.
La...
Leer documento completo
Regístrate para leer el documento completo.