AJAX - XMLHttpRequest
L'oggetto XMLHttpRequest è la chiave per AJAX. È stato disponibile sin dal rilascio di Internet Explorer 5.5 nel luglio 2000, ma non è stato completamente scoperto fino a quando AJAX e Web 2.0 nel 2005 non sono diventati popolari.
XMLHttpRequest (XHR) è un'API che può essere utilizzata da JavaScript, JScript, VBScript e altri linguaggi di scripting del browser Web per trasferire e manipolare i dati XML da e verso un server Web utilizzando HTTP, stabilendo un canale di connessione indipendente tra il lato client di una pagina Web e Lato server.
I dati restituiti dalle chiamate XMLHttpRequest saranno spesso forniti dai database back-end. Oltre a XML, XMLHttpRequest può essere utilizzato per recuperare dati in altri formati, ad esempio JSON o anche testo semplice.
Hai già visto un paio di esempi su come creare un oggetto XMLHttpRequest.
Di seguito sono elencati alcuni dei metodi e delle proprietà con cui devi familiarizzare.
Metodi XMLHttpRequest
abort()
Annulla la richiesta corrente.
getAllResponseHeaders()
Restituisce il set completo di intestazioni HTTP come stringa.
getResponseHeader( headerName )
Restituisce il valore dell'intestazione HTTP specificata.
open( method, URL )
open( method, URL, async )
open( method, URL, async, userName )
open( method, URL, async, userName, password )
Specifica il metodo, l'URL e altri attributi facoltativi di una richiesta.
Il parametro del metodo può avere un valore "GET", "POST" o "HEAD". Altri metodi HTTP come "PUT" e "DELETE" (utilizzati principalmente nelle applicazioni REST) potrebbero essere possibili.
Il parametro "async" specifica se la richiesta deve essere gestita in modo asincrono o meno. "true" significa che l'elaborazione dello script prosegue dopo il metodo send () senza attendere una risposta e "false" significa che lo script attende una risposta prima di continuare l'elaborazione dello script.
send( content )
Invia la richiesta.
setRequestHeader( label, value )
Aggiunge una coppia etichetta / valore all'intestazione HTTP da inviare.
Proprietà XMLHttpRequest
onreadystatechange
Un gestore di eventi per un evento che si attiva a ogni cambio di stato.
readyState
La proprietà readyState definisce lo stato corrente dell'oggetto XMLHttpRequest.
La tabella seguente fornisce un elenco dei possibili valori per la proprietà readyState:
Stato | Descrizione |
---|---|
0 | La richiesta non è inizializzata. |
1 | La richiesta è stata impostata. |
2 | La richiesta è stata inviata. |
3 | La richiesta è in corso. |
4 | La richiesta è completata. |
readyState = 0 Dopo aver creato l'oggetto XMLHttpRequest, ma prima di aver chiamato il metodo open ().
readyState = 1 Dopo aver chiamato il metodo open (), ma prima di aver chiamato send ().
readyState = 2 Dopo aver chiamato send ().
readyState = 3 Dopo che il browser ha stabilito una comunicazione con il server, ma prima che il server abbia completato la risposta.
readyState = 4 Dopo che la richiesta è stata completata e i dati di risposta sono stati completamente ricevuti dal server.
responseText
Restituisce la risposta come stringa.
responseXML
Restituisce la risposta come XML. Questa proprietà restituisce un oggetto documento XML, che può essere esaminato e analizzato utilizzando i metodi e le proprietà dell'albero del nodo DOM W3C.
status
Restituisce lo stato come numero (ad esempio, 404 per "Non trovato" e 200 per "OK").
statusText
Restituisce lo stato come una stringa (ad esempio, "Non trovato" o "OK").