Vous êtes sur la page 1sur 10

Abort

El mtodo abort detiene todas las conexiones asncronas abiertas por el objeto XMLHttpRequest lo y reinicializa poniendo a cero su estado (readyState). ArribaTabla de contenido Utilizacin Ejemplos

ArribaUtilizacin oXMLHttpRequest.abort (); oXMLHttpRequest - Objeto XMLHttpRequest Frecuentemente se utiliza abort antes de realizar una nueva peticin al servidor a travs de un objeto que est realizando o recibiendo otra peticin anterior. ArribaEjemplos Vamos a crear un botn para que el usuario pueda detener en cualquier momento la comunicacin a travs del objeto oXMLHttpRequest previamente creado. 000 <!-- Botn --> 001 <input type="button" value="Detener" 002 action="oXMLHttpRequest.abort ();" />
Maximizar Seleccionar XML

Vamos a realizar una peticin liberando antes el objeto oXML previamente creado. 000 <script> 001 // Liberamos el objeto 002 oXML.abort (); 003 // Enviamos los datos 004 oXML.open('GET', 'archivo.txt'); 005 // Preparamos la recepcin 006 oXML.onreadystatechange = leerDatos; 007 // Realizamos la peticin 008 oXML.send(''); 009 </script>
Maximizar Seleccionar SCRIPT,XML

<="">

El mtodo getAllResponseHeaders devuelve en una sola cadena de caracteres los encabezados HTTP que se han recibido del servidor en una conexin usando el objeto XMLHttpRequest. ArribaTabla de contenido

Utilizacin Ejemplo

ArribaUtilizacin sHeaders = oXMLHttpRequest.getAllResponseHeaders (); sHeaders - Cadena de caracteres con los encabezados. oXMLHttpRequest - Objeto XMLHttpRequest La cadena sHeaders contendr todos los encabezados enviados por el servidor excepto el de estado ( por ejemplo HTTP/1.1 200 OK), los encabezados sern devueltos separados por la combinacin 'salto de linea' + 'retorno de caro'. Podremos acceder a los encabezados siempre y cuando el estado de la conexin devuelto con readyStatechange sea igual a 3 (recibiendo) o 4 (a punto). ArribaEjemplo Vamos a mostrar en un alert todos los encabezados recibidos en una conexin. 000 <script language="JavaScript"> 001 <!-002 // creamos el objeto 003 oXMLHttp = new XMLHttpRequest(); 004 // pedimos la pgina en modo sncrono 005 oXMLHttp.open('get', 'index.htm', false); 006 // enviamos los datos 007 oXMLHttp.send(); 008 // alertamos los encabezados HTTP 009 alert(oXMLHttp.getAllResponseHeaders()); 010 --> 011 </script>
Maximizar Seleccionar SCRIPT,XML

<="">

El mtodo getResponseHeader devuelve en una sola cadena de caracteres uno de los encabezados HTTP que se han recibido del servidor en una conexin usando el objeto XMLHttpRequest. ArribaTabla de contenido Utilizacin Ejemplo

ArribaUtilizacin sHeaders = oXMLHttpRequest.getAllResponseHeaders ( sHeaderName ); sHeaders - Cadena de caracteres con los encabezados. oXMLHttpRequest - Objeto XMLHttpRequest sHeaderName - Cadena de caracteres con el nombre del encabezado La cadena sHeaders contendr todos los encabezados con nombre igual a sHeaderName enviados por el servidor separados por la combinacin 'coma' + 'espacio'.

Podremos acceder a los encabezados siempre y cuando el estado de la conexin devuelto con readyStatechange sea igual a 3 (recibiendo) o 4 (a punto). ArribaEjemplo Vamos a mostrar en un alert todos los encabezados 'X-Powered-By' recibidos en una conexin. 000 <script language="JavaScript"> 001 <!-002 // creamos el objeto 003 oXMLHttp = new XMLHttpRequest(); 004 // pedimos la pgina en modo sncrono 005 oXMLHttp.open('get', 'index.htm', false); 006 // enviamos los datos 007 oXMLHttp.send(); 008 // alertamos los encabezados HTTP 009 alert(oXMLHttp.getResponseHeader('X-Powered-By')); 010 --> 011 </script>
Maximizar Seleccionar SCRIPT,XML

El mtodo open prepara una conexin HTTP a travs del objeto XMLHttpRequest ( con un mtodo y una URL especificados ) y inicializa todos los atributos del objeto. ArribaTabla de contenido Utilizacin Ejemplo

ArribaUtilizacin oXMLHttpRequest.open ( sMetodo, sURL [, bSincronia [, sUsuario [, sPwd ] ] ] ); oXMLHttpRequest - Objeto XMLHttpRequest sMetodo - String con el mtodo de conexin ( GET o POST ). sURL - URL para la peticion HTTP bSincronia - Booleano opcional en true ( por defecto ) para usar modo asncrono y en false para sncrono. sUsuario - Cadena de caracteres opcional con el nombre de usuario para la autenticacin sPwd - Cadena de caracteres opcional con la contrasea del usuario sUsuariopara la autenticacin Al llamar a open el atributo readyState a 1, resetea los headers de envo y los devuelve atributos responseText, responseXML, status y statusText a sus valores iniciales Nota: No se permiten las llamadas a dominios, puertos o protocolos diferentes al de la pgina que llama la funcin Frecuentemente se utiliza metodo GET para permitir al navegador guardar datos en cache y POST para obligar a descargar los datos de nuevo. La URL puede contener un usuario y una contrasea que se usarn en cada conexin y tendrn preferncia ante los pasados por parmetro a la funcin. Los parametros sUsuario y sPwd solo se usarn para enviarlos si se recibe una respuesta 401 - Access Denied mientras que por URL se usarn siempre. Por definicin deberemos usar modo asncrono para que podemos llamarlo AJAX

Para realizar la conexin deberemos usar send despues de open ArribaEjemplo Vamos realizar una conexin para descargar index.htm. 000 <script language="JavaScript"> 001 <!-002 // creamos el objeto 003 oXMLHttp = new XMLHttpRequest(); 004 // pedimos la pgina en modo sncrono 005 oXMLHttp.open('get', 'index.htm', false); 006 // enviamos los datos 007 oXMLHttp.send(); 008 --> 009 </script>
Maximizar Seleccionar SCRIPT,XML

<="">

El mtodo send enva la peticin con los datos pasados por parmetro como cuerpo de la peticin a travs del objeto XMLHttpRequest. ArribaTabla de contenido Utilizacin Ejemplo

ArribaUtilizacin oXMLHttpRequest.send ( mData ); oXMLHttpRequest - Objeto XMLHttpRequest oData - Cuerpo de la peticin HTTP. El parametro oData puede ser una referncia al DOM de un documento o una cadena de caracteres. Nota: Se recomienda pasar siempre el parametro oData aunque no sea requerido en algunos navegadores ArribaEjemplo Vamos realizar una conexin para descargar index.htm. 000 <script language="JavaScript"> 001 <!-002 // creamos el objeto 003 oXMLHttp = new XMLHttpRequest(); 004 // pedimos la pgina en modo sncrono 005 oXMLHttp.open('get', 'index.htm', false); 006 // enviamos los datos 007 oXMLHttp.send(); 008 --> 009 </script>
Maximizar Seleccionar SCRIPT,XML

<="">

El mtodo setRequestHeader aade un encabezado HTTP a la peticin HTTP a travs del objeto XMLHttpRequest. ArribaTabla de contenido Utilizacin Ejemplo

ArribaUtilizacin oXMLHttpRequest.setRequestHeader ( sNombre, sValor); oXMLHttpRequest - Objeto XMLHttpRequest sNombre - Nombre del encabezado HTTP. sValor - Valor del encabezado HTTP. El parametro sNombre deber no podr ser Accept-Charset, Accept-Encoding, Content-Length, Expect, Date, Host, Keep-Alive, Referer, TE, Trailer, Transfer-Encoding ni Upgrade, tampoco podr contener espacios, puntos o saltos de lnea. El parametro sValor no podr contener saltos de lnea. Solo podemos utilizar setRequestHeader cuando el valor de readyState sea 1. ArribaEjemplo Vamos a aadir el encabezado UserAgent a nuestra peticin XMLHttpRequest: 000 <script language="JavaScript"> 001 <!-002 // creamos el objeto 003 oXMLHttp = new XMLHttpRequest(); 004 // aadimos el encabezado 005 oXMLHttp.setRequestHeader('User-Agent', 'AJAX'); 006 // pedimos la pgina en modo sncrono 007 oXMLHttp.open('get', 'index.htm', false); 008 // enviamos los datos 009 oXMLHttp.send(); 010 --> 011 </script>
Maximizar Seleccionar SCRIPT,XML

Attributos

El atributo onreadystatechange asigna la funcin que se ejecutar cada vez que readyState cambie de valor. ArribaTabla de contenido

Utilizacin Ejemplo

ArribaUtilizacin oXMLHttpRequest.onreadystatechange = fFuncion; oXMLHttpRequest - Objeto XMLHttpRequest fFuncion - Funcin a ejecutar Frecuentemente utilizamos onreadystatechange para definir una funcin para leer los datos recibidos del servidor, en este caso en su interior comprobaramos que readyState tenga valor 4 y entonces leeremos el valor de responseXML, responseText... Una alternativa a onreadystatechange es la utilizacin de un timeout con setTimeout antes de la lectura. En ambos casos ser necesario comprobar el estado de la propiedad readyState de oXMLHttpRequest, ya que solo cuando tenga valor 3 o 4 se podr acceder a atributos como responseXML y responseText. ArribaEjemplo Habiendo creado el objeto XMLHttpRequest oXMLHttpRequest previamente haremos que nos alerte el estado del objeto (readystate) cada vez que este cambie. 000 <script language="JavaScript"> 001 // Creamos la funcin 002 function fFuncion () { 003 // Alertamos el estado de la peticin 004 alert ( oXMLHttpRequest.readyState ); 005 } 006 // Definimos la funcin handler del evento a 007 continuacin 008 oXMLHttpRequest.onreadystatechange = fFuncion; </script>
Maximizar Seleccionar SCRIPT,XML

<="">

El atributo readyState devuelve el estado actual del objeto XMLHttpRequest, cada vez que cambia el valor de readyState se lanza la funcin indicada en onreadystatechange ArribaTabla de contenido Utilizacin Ejemplo

ArribaUtilizacin iEstado = oXMLHttpRequest.readyState; iEstado - Estado actual del objeto 0 - Sin inicializar, siempre ser: 1 - Abierto (acaba de llamar open) 2 - Enviado 3 - Recibiendo 4 - A punto

oXMLHttpRequest - Objeto XMLHttpRequest La propiedad readyState se utiliza en todas las comunicaciones asncronas para comprobar que podemos acceder ya a atributos como responseXML y responseText, slo accesibles en los estados 3 y 4. ArribaEjemplo Habiendo creado el objeto XMLHttpRequest oXMLHttpRequest previamente haremos que nos alerte el texto recibido en modo asncrono. 000 <script language="JavaScript"> 001 // Creamos la funcin 002 function fFuncion () { 003 // Si el estado es "A punto" 004 if ( oXMLHttpRequest.readyState == 4) { 005 // Alertamos el texto 006 alert ( oXMLHttpRequest.responseText ); 007 } 008 } 009 // 010 // Definimos la funcin handler del evento 011 oXMLHttpRequest.onreadystatechange = fFuncion; 012 </script>
Maximizar Seleccionar SCRIPT,XML

<="">

El atributo responseText devuelve el texto del documento descargado del servidor en una peticin con XMLHttpRequest. ArribaTabla de contenido Utilizacin Ejemplo

ArribaUtilizacin sDocumento = oXMLHttpRequest.responseText; sDocumento - Cadena de caracteres con el texto del documento. oXMLHttpRequest - Objeto XMLHttpRequest La propiedad responseText se utiliza para tratar los datos recibidos desde el servidor que no tienen formato XML, podremos acceder a los datos siempre y cuando el estado de la conexin devuelto con readyStatechange sea igual a 3 (recibiendo) o 4 (a punto). Siempre que podamos intentaremos usar responseXML en lugar de responseText y XML para la los datos en lugar de texto plano. ArribaEjemplo Habiendo creado el objeto XMLHttpRequest oXMLHttpRequest previamente haremos que nos alerte el texto recibido en modo asncrono. 000 <script language="JavaScript"> 001 // Creamos la funcin 002 function fFuncion () { 003 // Si el estado es "A punto"

004 005 006 007 008 009 010 011

if ( oXMLHttpRequest.readyState == 4) { // Alertamos el texto alert ( oXMLHttpRequest.responseText ); } } // Definimos la funcin handler del evento oXMLHttpRequest.onreadystatechange = fFuncion; </script>
Maximizar Seleccionar SCRIPT,XML

<="">

El atributo responseXML devuelve una referencia al cuerpo del documento descargado del servidor en una peticin con XMLHttpRequest en formato XML. ArribaTabla de contenido Utilizacin Ejemplo

ArribaUtilizacin oDocumento = oXMLHttpRequest.responseXML; oDocumento - Referencia al cuerpo del objeto recibido. oXMLHttpRequest - Objeto XMLHttpRequest La propiedad responseXML se utiliza para tratar los datos recibidos en formato XML desde el servidor, podremos acceder a los datos siempre y cuando el estado de la conexin devuelto con readyStatechange sea igual a 4 (a punto). Esta propiedad nos devolver null siempre que la respuesta XML del servidor no tenga el encabezado text/xml, application/xml o acabe en +xml. Utilizaremos las propiedades del Modelo de Objetos de Documento (DOM) para tratar los datos XML recibidos. ArribaEjemplo Habiendo creado el objeto XMLHttpRequest oXMLHttpRequest previamente y realizado una peticin de un xml con marcas <item> haremos que nos alerte el nmero de item's. 000 <script language="JavaScript"> 001 // Creamos la funcin 002 function fFuncion () { 003 // Si el estado es "A punto" 004 if ( oXMLHttpRequest.readyState == 4) { 005 // Accedemos al documento XML 006 oDocumento = 007 oXMLHttpRequest.responseXML.documentElement; 008 // Alertamos el numeto de item's 009 alert ( oDocumento.getElementsByTagName('item').length 010 ); 011 } 012 } 013 // Definimos la funcin handler del evento oXMLHttpRequest.onreadystatechange = fFuncion;

</script>
Maximizar Seleccionar SCRIPT,XML

<="">

El atributo statusText devuelve el cdigo del estado HTTP de la transmisin devuelto por el servidor web. ArribaTabla de contenido Utilizacin Ejemplo

ArribaUtilizacin iEstado = oXMLHttpRequest.status; iEstado - Entero con el cdigo HTTP de estado. oXMLHttpRequest - Objeto XMLHttpRequest La propiedad status e utiliza para comprobar que no ha habido problemas en la comunicacin con el servidor, podremos acceder a los datos siempre y cuando el estado de la conexin devuelto con readyStatechange sea igual a 3 (recibiendo) o 4 (a punto). El cdigo de estado HTTP para una transmisin correcta es el 200, ser conveniente comprobar este dato antes de acceder a los datos con responseXML o responseText, puedes ver una lista de los otros posibles cdigos y su significado en este artculo. ArribaEjemplo Habiendo creado el objeto XMLHttpRequest oXMLHttpRequest mostramos un error cuando la conexin no ha sido satisfactoria. 000 <script language="JavaScript"> 001 // Comparamos el estado 002 if ( oXMLHttpRequest.status != 200 ) { 003 // Mostramos un mensaje de error 004 alert ( 'Ha sucedido un error con la conexion' ); 005 } 006 </script>
Maximizar Seleccionar SCRIPT,XML

<="">

El atributo statusText devuelve el texto del estado HTTP de la transmisin devuelto por el servidor web. ArribaTabla de contenido Utilizacin Ejemplo

ArribaUtilizacin sEstado = oXMLHttpRequest.statusText; sEstado -Cadena de caracteres con el texto del estado HTTP. oXMLHttpRequest - Objeto XMLHttpRequest La propiedad statusText no es de uso comn, normalmente en su lugar usaremos status, podremos acceder a los datos siempre y cuando el estado de la conexin devuelto con readyStatechange sea igual a 3 (recibiendo) o 4 (a punto). El texto de estado HTTP para una transmisin correcta es 'OK'. ArribaEjemplo Habiendo creado el objeto XMLHttpRequest oXMLHttpRequest mostramos el texto de estado. 000 <script language="JavaScript"> 001 // Comparamos el estado 002 alert ( oXMLHttpRequest.statusText ); 003 } 004 </script>
Maximizar Seleccionar SCRIPT,XML

<="">

Vous aimerez peut-être aussi