AJAX - XMLHttpRequest

El objeto XMLHttpRequest es la clave de AJAX. Ha estado disponible desde que se lanzó Internet Explorer 5.5 en julio de 2000, pero no se descubrió por completo hasta que AJAX y Web 2.0 en 2005 se hicieron populares.

XMLHttpRequest (XHR) es una API que puede ser utilizada por JavaScript, JScript, VBScript y otros lenguajes de scripting del navegador web para transferir y manipular datos XML hacia y desde un servidor web usando HTTP, estableciendo un canal de conexión independiente entre el lado del cliente y Lado del servidor.

Los datos devueltos por las llamadas XMLHttpRequest a menudo serán proporcionados por bases de datos back-end. Además de XML, XMLHttpRequest se puede utilizar para recuperar datos en otros formatos, por ejemplo, JSON o incluso texto sin formato.

Ya ha visto un par de ejemplos sobre cómo crear un objeto XMLHttpRequest.

A continuación se enumeran algunos de los métodos y propiedades con los que debe familiarizarse.

Métodos XMLHttpRequest

  • abort()

    Cancela la solicitud actual.

  • getAllResponseHeaders()

    Devuelve el conjunto completo de encabezados HTTP como una cadena.

  • getResponseHeader( headerName )

    Devuelve el valor del encabezado HTTP especificado.

  • open( method, URL )

  • open( method, URL, async )

  • open( method, URL, async, userName )

  • open( method, URL, async, userName, password )

    Especifica el método, la URL y otros atributos opcionales de una solicitud.

    El parámetro del método puede tener un valor de "GET", "POST" o "HEAD". Es posible que sean posibles otros métodos HTTP como "PUT" y "DELETE" (utilizados principalmente en aplicaciones REST).

    El parámetro "async" especifica si la solicitud debe manejarse de forma asincrónica o no. "verdadero" significa que el procesamiento del script continúa después del método send () sin esperar una respuesta, y "falso" significa que el script espera una respuesta antes de continuar con el procesamiento del script.

  • send( content )

    Envía la solicitud.

  • setRequestHeader( label, value )

    Agrega un par de etiqueta / valor al encabezado HTTP que se enviará.

Propiedades de XMLHttpRequest

  • onreadystatechange

    Un controlador de eventos para un evento que se activa en cada cambio de estado.

  • readyState

    La propiedad readyState define el estado actual del objeto XMLHttpRequest.

    La siguiente tabla proporciona una lista de los posibles valores para la propiedad readyState:

Estado Descripción
0 La solicitud no se inicializa.
1 Se ha configurado la solicitud.
2 La solicitud ha sido enviada.
3 La solicitud está en proceso.
4 La solicitud está completa.

readyState = 0 Después de haber creado el objeto XMLHttpRequest, pero antes de haber llamado al método open ().

readyState = 1 Después de haber llamado al método open (), pero antes de haber llamado a send ().

readyState = 2 Después de haber llamado a send ().

readyState = 3 Después de que el navegador haya establecido una comunicación con el servidor, pero antes de que el servidor haya completado la respuesta.

readyState = 4 Una vez que se haya completado la solicitud y los datos de respuesta se hayan recibido completamente del servidor.

  • responseText

    Devuelve la respuesta como una cadena.

  • responseXML

    Devuelve la respuesta como XML. Esta propiedad devuelve un objeto de documento XML, que puede examinarse y analizarse utilizando los métodos y propiedades del árbol de nodos DOM de W3C.

  • status

    Devuelve el estado como un número (por ejemplo, 404 para "No encontrado" y 200 para "Aceptar").

  • statusText

    Devuelve el estado como una cadena (por ejemplo, "No encontrado" o "OK").