XMLHttpRequest (XHR), también referida como XMLHTTP (Extensible Markup Language / Hypertext Transfer Protocol), es una interfaz empleada para realizar peticiones HTTP y HTTPS a servidores Web. Para los datos transferidos se usa cualquier codificación basada en texto, incluyendo: texto plano, XML, JSON, HTML y codificaciones particulares específicas. La interfaz se implementa como una clase de la que una aplicación cliente puede generar tantas instancias como necesite para manejar el diálogo con el servidor.
El uso más popular, si bien no el único, de esta interfaz es proporcionar contenido dinámico y actualizaciones asíncronas en páginas WEB mediante tecnologías construidas sobre ella como por ejemplo AJAX.
Esta interfaz funciona segun los siguientes atributos, métodos y eventos:
La propuesta inicial de W3C no incluye propiedades y eventos presentes en implementaciones reales, como por ejemplo los eventos onload, onerror, onprogress, onabort y ontimeout. Algunos de ellos sí son recogidos por la nueva especificación Level 2, como puede verse en el cuadro anterior.
El uso más popular, si bien no el único, de esta interfaz es proporcionar contenido dinámico y actualizaciones asíncronas en páginas WEB mediante tecnologías construidas sobre ella como por ejemplo AJAX.
Esta interfaz funciona segun los siguientes atributos, métodos y eventos:
Atributos
Atributo | Descripción |
---|---|
readyState | Devuelve el estado del objeto como sigue:
0 = sin inicializar, 1 = abierto, 2 = cabeceras recibidas, 3 = cargando y 4 = completado. |
responseBody | (Level 2) Devuelve la respuesta como un array de bytes |
responseText | Devuelve la respuesta como una cadena |
responseXML | Devuelve la respuesta como XML. Esta propiedad devuelve un objeto documento XML, que puede ser examinado usando las propiedades y métodos del árbol del Document Object Model. |
status | Devuelve el estado como un número (p. ej. 404 para "Not Found" y 200 para "OK"). |
statusText | Devuelve el estado como una cadena (p. ej. "Not Found" o "OK"). |
Métodos
Método | Descripción |
---|---|
abort() | Cancela la petición en curso |
getAllResponseHeaders() | Devuelve el conjunto de cabeceras HTTP como una cadena. |
getResponseHeader( nombreCabecera ) | Devuelve el valor de la cabecera HTTP especificada. |
open
( método, URL [, asíncrono [, nombreUsuario [, clave]]] ) |
Especifica el método, URL y otros atributos opcionales de una petición.
El parámetro de método puede tomar los valores "GET", "POST", o "PUT"
("GET" y "POST" son dos formas para solicitar datos, con "GET" los
parámetros de la petición se codifican en la URL y con "POST" en las
cabeceras de HTTP). El parámetro URL puede ser una URL relativa o completa. El parámetro asíncrono especifica si la petición será gestionada asíncronamente o no. Un valor true indica que el proceso del script continúa después del método send(), sin esperar a la respuesta, y false indica que el script se detiene hasta que se complete la operación, tras lo cual se reanuda la ejecución. En el caso asíncrono se especifican manejadores de eventos, que se ejecutan ante cada cambio de estado y permiten tratar los resultados de la consulta una vez que se reciben, o bien gestionar eventuales errores. |
send([datos]) | Envía la petición |
setRequestHeader( etiqueta, valor ) | Añade un par etiqueta/valor a la cabecera HTTP a enviar. |
Eventos
Propiedad | Descripción |
---|---|
onreadystatechange | Evento que se dispara con cada cambio de estado. |
onabort | (Level 2) Evento que se dispara al abortar la operación. |
onload | (Level 2) Evento que se dispara al completar la carga. |
onloadstart | (Level 2) Evento que se dispara al iniciar la carga. |
onprogress | (Level 2) Evento que se dispara periódicamente con información de estado. |
Fuente: Wikipedia
No hay comentarios:
Publicar un comentario