Cosa è?
Con il termine AJAX (Asynchronous JavaScript And XML) ci si riferisce ad un insieme di tecniche di sviluppo che sfruttano tecnologie web esistenti lato client per creare applicazioni asincrone. Mediante l'utilizzo di AJAX le pagine possono inviare e ricevere dati in modo asincrono senza interferire con il comportamento della pagina. Per esempio è possibile aggiornare il contenuto di una pagina senza la necessità di ricaricarla per intero. Nella figura sottostante è schematizzato il funzionamento di una pagina web che utilizza AJAX rispetto ad una pagina web convenzionale.
Nell'articolo che coniò il termine AJAX fu spiegato l'insieme delle tecnologie web su cui si sarebbe basato
Come si usa?
Il funzionamento di base è abbastanza semplice e qui sotto vediamo un'implementazione
In particolare onreadystatechange è un evento che si manifesta al cambiamento dello stato della richiesta AJAX. Esistono cinque readystate:
Esempio
Supponiamo di voler realizzare una pagina con un bottone che, una volta premuto, mostra un messaggio alert con l'ora del server. Normalmente questo non potrebbe essere realizzato senza aggiornare la pagina per intero, ma con AJAX possiamo effettuare una richiesta asincrona come visto prima. Avremo quindi due pagina distinte:
hour.php
pagina.html
Cliccando sul bottone viene richiamata la funzione getHour() che si occupa di gestire la richiesta asincrona.
Questo è un esempio di base, ma spero riesca a mostrare alcune delle potenzialità di AJAX; i dati potrebbero provenire da un database, le richieste asincrone potrebbero essere fatte a cadenza regolare, le richieste AJAX potrebbero non partire necessariamente da un interazione con l'utente ecc.
N.B. alcune framework Javascript hanno già funzioni dedicate all'utilizzo di AJAX (per esempio JQuery). In futuro può darsi che questa guida verrà ampliata.
Con il termine AJAX (Asynchronous JavaScript And XML) ci si riferisce ad un insieme di tecniche di sviluppo che sfruttano tecnologie web esistenti lato client per creare applicazioni asincrone. Mediante l'utilizzo di AJAX le pagine possono inviare e ricevere dati in modo asincrono senza interferire con il comportamento della pagina. Per esempio è possibile aggiornare il contenuto di una pagina senza la necessità di ricaricarla per intero. Nella figura sottostante è schematizzato il funzionamento di una pagina web che utilizza AJAX rispetto ad una pagina web convenzionale.
Nell'articolo che coniò il termine AJAX fu spiegato l'insieme delle tecnologie web su cui si sarebbe basato
- HTML (o XHTML) e CSS per la presentazione
- DOM (Document Object Model) per la visualizzazione dinamica e l'interazione con i dati
- XML per lo scambio dei dati
- L'oggetto XMLHttprequest per la comunicazione asincrona
- Javascript per far funzionare il tutto
Come si usa?
Il funzionamento di base è abbastanza semplice e qui sotto vediamo un'implementazione
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- 0: Richiesta non inizializzata
- 1: Stabilita connessione con il server
- 2: Richiesta ricevuta
- 3: Elaborazione richiesta
- 4: Richiesta terminata
- 200: Pagina trovata
- 404: Pagina non trovata
- 500: Errore server
Esempio
Supponiamo di voler realizzare una pagina con un bottone che, una volta premuto, mostra un messaggio alert con l'ora del server. Normalmente questo non potrebbe essere realizzato senza aggiornare la pagina per intero, ma con AJAX possiamo effettuare una richiesta asincrona come visto prima. Avremo quindi due pagina distinte:
- pagina.html cioè la pagina che effettua la richiesta AJAX e mostra i risultati
- hour.php che stampa semplicemente l'orario del server
hour.php
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
pagina.html
HTML:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Questo è un esempio di base, ma spero riesca a mostrare alcune delle potenzialità di AJAX; i dati potrebbero provenire da un database, le richieste asincrone potrebbero essere fatte a cadenza regolare, le richieste AJAX potrebbero non partire necessariamente da un interazione con l'utente ecc.
N.B. alcune framework Javascript hanno già funzioni dedicate all'utilizzo di AJAX (per esempio JQuery). In futuro può darsi che questa guida verrà ampliata.