Solicitud Http XML
Todos los navegadores modernos tienen un objeto XMLHttpRequest incorporado para solicitar datos de un servidor.
El objeto XMLHttpRequest
El objeto XMLHttpRequest se puede utilizar para solicitar datos de un servidor web.
El objeto XMLHttpRequest es un sueño de los desarrolladores , porque puede:
- Actualizar una página web sin recargar la página
- Solicitar datos de un servidor: después de que se haya cargado la página
- Recibir datos de un servidor: después de que se haya cargado la página
- Enviar datos a un servidor - en segundo plano
Ejemplo de XMLHttpRequest
Cuando escribe un carácter en el campo de entrada a continuación, se envía un XMLHttpRequest al servidor y se devuelven algunas sugerencias de nombres (desde el servidor):
Ejemplo
El ejemplo anterior se explica en los capítulos de AJAX de este tutorial.
Envío de una solicitud XMLHttp
Una sintaxis común de JavaScript para usar el objeto XMLHttpRequest se parece mucho a esto:
Ejemplo
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// Typical action to be performed when the document is ready:
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "filename", true);
xhttp.send();
Ejemplo explicado
La primera línea del ejemplo anterior crea un objeto XMLHttpRequest :
var xhttp = new XMLHttpRequest();
La propiedad onreadystatechange especifica una función que se ejecutará cada vez que cambie el estado del objeto XMLHttpRequest:
xhttp.onreadystatechange = function()
Cuando la propiedad readyState es 4 y la propiedad status es 200, la respuesta está lista:
if (this.readyState == 4 && this.status == 200)
La propiedad responseText devuelve la respuesta del servidor como una cadena de texto.
La cadena de texto se puede utilizar para actualizar una página web:
document.getElementById("demo").innerHTML = xhttp.responseText;
Aprenderá mucho más sobre el objeto XMLHttpRequest en los capítulos de AJAX de este tutorial.
Versiones antiguas de Internet Explorer (IE5 e IE6)
Las versiones antiguas de Internet Explorer (IE5 e IE6) no admiten el objeto XMLHttpRequest.
Para manejar IE5 e IE6, verifique si el navegador admite el objeto XMLHttpRequest, o bien cree un ActiveXObject:
Ejemplo
if (window.XMLHttpRequest) {
// code for modern browsers
xmlhttp = new XMLHttpRequest();
}
else {
// code for old IE browsers
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}