English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

AJAX - Oggetto XMLHttpRequest

L'oggetto XMLHttpRequest viene utilizzato per scambiare dati con il server.

Oggetto XMLHttpRequest

Tutti i browser moderni (Chrome, Firefox, IE7+, Edge, Safari, Opera) hanno un oggetto XMLHttpRequest integrato.

XMLHttpRequest permette di aggiornare asincronamente la pagina web scambiando dati con il server web.

Puoi recuperare dati da un URL senza aggiornare l'intera pagina.

Questo permette alla pagina web di aggiornare una parte della pagina senza interrompere l'operazione dell'utente.

Creare un'istanza di XMLHttpRequest

Prima di eseguire la comunicazione AJAX tra client e server, è necessario creare un'istanza dell'oggetto XMLHttpRequest, come segue:

Sintassi:

var request = new XMLHttpRequest();
var httpRequest = new XMLHttpRequest();
Testa per vedere‹/›

XMLHttpRequest incrociato

Per motivi di sicurezza, i browser moderni non permettono l'accesso a domini incrociati.

Questo significa che la pagina web e il file richiesto che tenta di caricarlo devono essere situati sullo stesso server.

Gli esempi su oldtoolbag.com aprono tutti i file richiesti situati nel dominio oldtoolbag.com.

Se si desidera utilizzare l'esempio sopra menzionato su una delle tue pagine web, il file richiesto deve essere situato sul tuo server.

Browser più vecchi (adatti a IE 6 e versioni precedenti)

Le vecchie versioni di Internet Explorer (6 e precedenti) utilizzano oggetti ActiveX invece dell'oggetto XMLHttpRequest.

Sintassi:
var request = new ActiveXObject("Microsoft.XMLHTTP");

Per gestire IE6 e versioni precedenti, controlla se il browser supporta l'oggetto XMLHttpRequest, altrimenti crea un oggetto ActiveX:

var httpRequest;
if (window.XMLHttpRequest) {
    // Oggi i browser più diffusi (Chrome, Mozilla, Safari, IE7+, ...)
    httpRequest = new XMLHttpRequest();
else if (window.ActiveXObject) {
    // <= IE 6 o versioni di IE precedenti
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
Testa per vedere‹/›

Proprietà dell'oggetto XMLHttpRequest

La tabella seguente elenca tutte le proprietà dell'oggetto XMLHttpRequest:

ProprietàDescrizione
onreadystatechangeDefinire la funzione da chiamare quando cambia l'attributo readyState
readyStateMantenere lo stato di XMLHttpRequest:
0:Richiesta non inizializzata
1:Connessione al server stabilita
2:Richiesta ricevuta
3:Elaborazione della richiesta
4:Richiesta completata e risposta pronta
responseTextRestituire i dati di risposta in forma di stringa
responseXMLRestituire i dati di risposta come dati XML
statusRestituire il numero di stato della richiesta:
200:“OK”
403:“Forbidden”
404:“Not Found”
Per la lista completa, visitareCodice di stato HTTP di riferimento
statusTextRestituire il testo dello stato (ad esempio, “OK”o“Not Found”)

Metodi dell'oggetto XMLHttpRequest

La tabella seguente elenca tutti i metodi dell'oggetto XMLHttpRequest:

MetodoDescrizione
new XMLHttpRequest()Creare un nuovo oggetto XMLHttpRequest
abort()Annullare la richiesta corrente
getAllResponseHeaders()Restituire le informazioni dell'intestazione
getResponseHeader()Restituire informazioni specifiche dell'intestazione
open(method, url, async)Specificare la richiesta
method:tipo di richiestaGEToPOST
url:posizione del file
async:true(asincrono)o false(sincrono)
send()per inviare la richiesta a
UtilizzatoGETIl server della richiesta
send(string)per inviare la richiesta al server.
UtilizzatoPOSTRichiesta
setRequestHeader(header, value)Impostare l'intestazione HTTP della richiesta
header:Specificare il nome dell'intestazione
value:Specificare il valore dell'intestazione