Mejoras de XMLHttpRequest en Internet Explorer 8

Novedad para Windows Internet Explorer 8

Internet Explorer 8 permite un control más preciso sobre las solicitudes de Asynchronous JavaScript and XML (AJAX). En concreto, ahora los desarrolladores pueden especificar un tiempo de espera para el objeto XMLHttpRequest; esto, combinación con el mayor número de conexiones simultáneas habilitado para Internet Explorer 8, puede evitar retrasos en las aplicaciones AJAX. También se ha agregado un controlador de eventos para tiempos de espera.

Este tema contiene las secciones siguientes.

  • Objeto XMLHttpRequest
  • Propiedad timeout
  • Controlador de eventos ontimeout
  • Temas relacionados

Objeto XMLHttpRequest

El objeto XMLHttpRequest es un objeto de transporte de datos que es el núcleo de AJAX. XMLHttpRequest se incorporó en 2000, principalmente para permitir que Microsoft Outlook Web Access mostrara mensajes de correo electrónico sin notificación. Desde entonces, las aplicaciones AJAX han adquirido popularidad por su capacidad para intercambiar datos con un servidor asincrónicamente y, a continuación, mostrarlos sin tener que volver a cargar la página web en la que aparecen.

Con ese aumento de la popularidad de AJAX, la adopción de XMLHttpRequest ha superado con creces las expectativas originales. Al mismo tiempo, su diseño funcional ha seguido siendo el mismo. En un esfuerzo por modernizar XMLHttpRequest y aumentar la fiabilidad para las aplicaciones actuales que realizan un uso intensivo de AJAX, Internet Explorer 8 incorpora nuevas funcionalidades a XMLHttpRequest.

Propiedad timeout

XMLHttpRequest se convirtió en un objeto nativo en Internet Explorer 7. Con Internet Explorer 8 adquiere la propiedad timeout. Gracias a la propiedad timeout, los desarrolladores web pueden especificar el período de tiempo en milisegundos durante los el cual el host esperará una respuesta antes de que se agote el tiempo de espera de la conexión.

Esto proporciona varias ventajas. Al haber un número limitado de conexiones que pueden coexistir entre el proceso del host y el servidor, establecer un tiempo de espera permite que el proceso del host abra una nueva solicitud más pronto, en lugar de esperar por una conexión inactiva. Esto resulta especialmente pertinente para los usuarios que utilizan un ancho de banda estrecho (como los usuarios de conexiones de módem de acceso telefónico) y puede mejorar el rendimiento y reducir el retraso. Para obtener más información sobre conexiones e Internet Explorer 8, vea Mejoras de conectividad en Internet Explorer 8.

A continuación hay un ejemplo de código breve que muestra cómo utilizar la propiedad timeout. En este caso, el tiempo de espera se ha establecido en 10.000 milisegundos (10 segundos).

var xhr;
xhr = new XMLHttpRequest();
xhr.open("GET", "http://myurl.php", true);
xhr.timeout = 10000;

Controlador de eventos ontimeout

Para indicar a la aplicación qué debe hacer en caso de agotarse el tiempo de espera, se utiliza el controlador de eventos ontimeout.

A continuación hay un ejemplo de código breve que muestra cómo utilizar el controlador de eventos ontimeout. En este caso, cuando se provoca el controlador de eventos ontimeout, se llama al método timeoutRaised.

function timeoutRaised()
{
    alert("timeout");
}

...

xmlHttpRequest.ontimeout = timeoutRaised;

Temas relacionados