Vous êtes sur la page 1sur 8

Capítulo 12

Leer archivos XML con AJAX


12.1 Introducción a AJAX

AJAX es un acrónimo de “Asynchronous JavaScript And XML” o “JavaScript


asíncrono y XML”. Realizaremos la programación en JavaScript y utilizaremos
la sentencia XMLHttpRequest para leer los datos en forma asíncrona, aunque
podremos leer datos no sólo en formato XML, sino que también lo haremos
con los archivos de texto y en otros formatos, como JSON.
Un proceso asíncrono se ejecuta en el background del navegador, es decir, las
instrucciones del script continúan sin esperar a que los datos lleguen, lo cual
tiene ventajas y desventajas.
Un proceso síncrono detiene el programa y espera a que lleguen los datos del
servidor, lo que puede hacerse en cualquier momento, ya que los servidores
algunas veces son rápidos y otras no se sabe.
Esta tecnología, aunque fue desarrollada por Microsoft como un ActiveX, al
implementarse por la W3C no es soportada en las versiones 6 e inferiores.
12.2 Los eventos en un proceso asíncrono

Con los procesos asíncronos tenemos un pequeño problema: necesitamos


saber el momento en que los datos terminaron de ser descargados. Para
detectar cuando hay un cambio en el estado del proceso de carga, utilizamos
el evento onreadystatechange, que detecta cualquier cambio en el desarrollo
de carga.
12.3 Pasar valores a un archivo PHP con AJAX

Una aplicación muy frecuente es llamar un archivo de algún lenguaje de


servidor, como puede ser PHP o ASP, que puede leer la información de base
de datos, procesarla y entregarla a la página HTML desde el background. A
este tipo de aplicaciones las conocemos como RIA o Rich Internet Application.
En el siguiente ejemplo llamaremos a un archivo PHP. Para ejecutarlo necesita
un servidor con Apache+PHP+MySQL, que por lo general se denomina AMP, y
dependiendo de la plataforma WAMP, para Windows, MAMP para las
máquinas de Apple y LAMP para Linux. Hay paquetes que los puede ejecutar
en cualquier plataforma, como XAMPP, de https://www.apachefriends.org.
12.4 Leer datos de una base de datos en AJAX

En el desarrollo Web es necesario leer los datos de una base de datos. En


realidad AJAX no los lee directamente de la base de datos, sino que lo hace
por medio de un lenguaje de servidor, como PHP.

Volvemos a remarcar que este ejercicio únicamente funciona desde un


servidor Web. Observe que simplemente se “imprimen” los resultados desde
PHP y AJAX lo recibirá como un archivo de texto plano. En la parte final de la
cadena añadimos la etiqueta <br> para los saltos de línea en HTML. Cada vez
que el usuario pulsa un botón, la división de salida se sobrescribe, la cual
conseguimos sin necesidad de volver a llamar otra página HTML o PHP, ya que
lo estamos haciendo por medio del background del navegador.
12.5 Leer un archivo XML
desde AJAX generado por PHP
Esta práctica es muy común en las aplicaciones, ya que por lo general los
documentos XML no son estáticos y se crean en el momento de ser
solicitados. En este punto es muy importante que observe que estamos
enviado un encabezado de tipo XML en la línea 24 con la instrucción
header(“Content-type:text/xml”) y seguido de ésta enviamos la etiqueta de
identificación de XML.
Sin estas salidas, el navegador interpretará el archivo como un texto plano,
aunque tenga el formato de un documento XML, y el resultado final no se
dará.
Ejemplo de listado, del archivo alumnosXML.php

Vous aimerez peut-être aussi