Lo prometido es deuda y hoy seguimos (o casi empezamos) con el estudio de las aplicaciones AJAX.

Aparte de saber HTML y JavaScript, el primer objeto que debemos conocer para hacer aplicaciones AJAX es XMLHttpRequest.

Si has utilizado alguna vez las bibliotecas MSXML con Visual Basic 6.0 o ASP 3.0 es probable que ya lo conozcas. Aunque en el caso de Internet Explorer se sigue usando este objeto ActiveX en el resto de los navegadores (Firefox, Opera, Safari...)  este objeto forma parte ya de las clases nativas del navegador.

Su utilidad básica es la de enviar peticiones (tanto GET como POST) a Urls mediante el protocolo HTTP.

Los métodos y propiedades básicos que debemos conocer son los siguientes(los corchetes indican parámetros opcionales):

  • open(metodo, URL, [asincrono], [usuario], [clave]): sirve para abrir una conexión al servidor. No envía ni obtiene información, sólo se conecta. El tercer parámetro es booleano y sirve para indicar si la conexión se realizará asíncronamente o no (normalmente será que sí). Se puede especificar un nombre de usuario y una contraseña de accesopero normalmente esto será absurdo (estará en claro en el JavaScript, ya me dirás de qué sirve entonces).
  • send(contenido): envía una petición. Si es un POST se pueden incluir los datos a enviar en el parámetro, si no se usa un nulo.
  • abort(): cancela un envío/petición.
  • onreadystatechange: se le asigna un método que será llamado automáticamente cuando se descargue de todo la URL remota (cuando se llama asíncronamente).
  • readyState: informa del estado de la petición: 0=no iniciada, 1=cargando, 2=terminada pero sin procesar, 4=completada.
  • status: código de estado HTTP: por ejemplo 200 (éxito), 404 (no encontrado), etc...
  • statusText: mensaje de información del estado anterior.
  • responseXML: documento DOM que representa el XML devuelto por la petición (se espera XML, claro). Más sobre este asunto en la próxima entrega.
  • responseText: el contenido puramente textual del recurso remoto. Útil si no nos devuelve XML.

Hay algunas cosas más pero con estas es más que suficiente para el 99% de los casos.

Vale por el momento. Quédate con esta idea. En la próxima entrega vamos a ver el uso en la práctica de este objeto. Haremos una función genérica que nos sirva para obtener cualquier URL remota y que funcione tanto en Internet Explorer como en los demás navegadores del mercado.

¡Permanece atento!

💪🏻 ¿Este post te ha ayudado?, ¿has aprendido algo nuevo?
Pues NO te pido que me invites a un café... Te pido algo más fácil y mucho mejor

Escrito por un humano, no por una IA