AJAX - L'oggetto XMLHttpRequest
La chiave di volta di AJAX è l'oggetto XMLHttpRequest.
L'oggetto XMLHttpRequest
Tutti i browser moderni supportano l'oggetto XMLHttpRequest.
L'oggetto XMLHttpRequest può essere utilizzato per scambiare dati con un server dietro le quinte. Ciò significa che è possibile aggiornare parti di una pagina web, senza ricaricare l'intera pagina.
Creare un oggetto XMLHttpRequest
Tutti i browser moderni (Chrome, Firefox, Edge (e IE7+), Safari, Opera) hanno un oggetto XMLHttpRequest integrato.
Sintassi per la creazione di un oggetto XMLHttpRequest:
variable = new XMLHttpRequest();
Esempio
var xhttp = new XMLHttpRequest();
Il file "ajax_info.txt" utilizzato nell'esempio sopra, è un semplice file di testo e si presenta così:
<h1>AJAX</h1>
<p>AJAX is not a programming language.</p>
<p>AJAX is a
technique for accessing web servers from a web page.</p>
<p>AJAX stands for
Asynchronous JavaScript And XML.</p>
Accesso attraverso domini
Per motivi di sicurezza, i browser moderni non consentono l'accesso tra domini.
Ciò significa che sia la pagina web che il file XML che tenta di caricare devono trovarsi sullo stesso server.
Gli esempi su W3Schools aprono tutti i file XML che si trovano nel dominio W3Schools.
Se vuoi usare l'esempio sopra su una delle tue pagine web, i file XML che carichi devono trovarsi sul tuo server.
Metodi dell'oggetto XMLHttpRequest
Method | Description |
---|---|
new XMLHttpRequest() | Creates a new XMLHttpRequest object |
abort() | Cancels the current request |
getAllResponseHeaders() | Returns header information |
getResponseHeader() | Returns specific header information |
open(method,url,async,user,psw) | Specifies the request method: the request type GET or POST url: the file location async: true (asynchronous) or false (synchronous) user: optional user name psw: optional password |
send() | Sends the request to the server Used for GET requests |
send(string) | Sends the request to the server. Used for POST requests |
setRequestHeader() | Adds a label/value pair to the header to be sent |
Proprietà dell'oggetto XMLHttpRequest
Property | Description |
---|---|
onreadystatechange | Defines a function to be called when the readyState property changes |
readyState | Holds the status of the XMLHttpRequest. 0: request not initialized 1: server connection established 2: request received 3: processing request 4: request finished and response is ready |
responseText | Returns the response data as a string |
responseXML | Returns the response data as XML data |
status | Returns the status-number of a request 200: "OK" 403: "Forbidden" 404: "Not Found" For a complete list go to the Http Messages Reference |
statusText | Returns the status-text (e.g. "OK" or "Not Found") |