Il sito dedicato all'informatica ideato da Iasparra Francesco

Ajax: XMLHttpRequest

  • Aggiornare parte di una pagina HTML senza rifare la request dell'intera pagina

  • Data: 07/11/2011 Autore: Iasparra Francesco 

XMLHttpRequest e' un elemento fondamentale della tecnica di sviluppo web conosciuta con l'acronimo Ajax, ed e' utilizzato in molti siti web per implementare applicazioni fruibili via browser dinamiche ed interattive.

Gli sviluppatori Microsoft furono i primi ad includere l'oggetto XMLHttp nel loro MSXML ActiveX control. Gli sviluppatori del progetto Open Source Mozilla crearono la loro versione di XmlHttp, non come un controllo ActiveX ma come un oggetto nativo nel browser, con il nome di XMLHttpRequest. Opera e Safari hanno sviluppato un oggetto simile, piu' vicino all'implementazione Mozilla.

Per creare librerie javascript portabili e' necessario includere diversi controlli per utilizzare l'oggetto XMLHttp appropriato.

Dalla versione 7, Internet Explorer supporta nativamente XMLHttpRequest.

Metodi:

abort()					- Cancella la richiesta in atto.
getAllResponseHeaders() 		- Restituisce sotto forma di stringa tutti gli 
                                          header HTTP ricevuti dal server
getResponseHeader( nome_header )	- Restituisce il valore dell'header HTTP specificato

open( metodo, URL, [async], [userName], [password])	
- Specifica il metodo, l'URL e altri parametri opzionali per la richiesta.

Il parametro metodo puo' assumere valore di "GET", "POST", oppure "PUT" ("GET" e' utilizzato quando si richiedono dati, mentre "POST" e' utilizzato per inviare dati, specialmente se la lunghezza dei dati da trasmettere e' maggiore di 512 byte).

Il parametro URL puo' essere sia relativo che assoluto.

Il parametro "async" specifica se la richiesta deve essere gestita in modo asincrono oppure no e' "true" significa che lo script puo' proseguire l'elaborazione senza aspettare la risposta dopo il metodo send(), mentre "false" significa che lo script e' costretto ad aspettare una risposta dal server prima di continuare.

send( content ) 			- Invia la richiesta
setRequestHeader( chiave, valore) 	- Aggiunge la coppia chiave/valore alla richiesta da inviare.

Attributi

onreadystatechange 	- Gestore dell'evento lanciato ad ogni cambiamento di stato.
readyState 		- Restituisce lo stato corrente dell'istanza di XMLHttpRequest:
			0 = non inizializzato 
			1 = aperto
			2 = richiesta inviata	
			3 = risposta in ricezione
			4 = risposta ricevuta.

responseText 		- Restituisce la risposta del server in formato stringa

responseXML 		- Restituisce la risposta del server come oggetto Document, che potra'
                          essere esaminato secondo le specifiche DOM del W3C.

status 			- Restituisce il codice HTTP restituito dal server 
                          (per esempio 404 per "Not Found" e 200 per "OK").

statusText 		- Restituisce lo status in forma di stringa descrittiva
                          (per esempio. "Not Found" oppure "OK").

  • Java

  • Php

  • Mysql

  • Apache ant

  • Eclipse

  • Spring

  • Hibernate

  • Netbeans

  • Debian

  • Linux

  • Maven