Se sei totalmente nuovo in AJAX (che sta per Asynchronous Javascript And XML), la voce AJAX su wikipedia è un buon punto di partenza:
Come DHTML e LAMP, AJAX non è una tecnologia in sé, ma un gruppo di tecnologie. AJAX utilizza una combinazione di:
- HTML e CSS per la marcatura e lo stile delle informazioni.
- Il DOM a cui si accede con JavaScript per visualizzare e interagire dinamicamente con le informazioni presentate.
- Un metodo per lo scambio di dati in modo asincrono tra browser e server, evitando così il ricaricamento della pagina. Di solito viene utilizzato l'oggetto XMLHttpRequest (XHR), ma a volte viene invece utilizzato un oggetto IFrame o un tag aggiunto dinamicamente.
- Un formato per i dati inviati al browser. I formati comuni includono XML, HTML preformattato, testo normale e JavaScript Object Notation (JSON). Questi dati potrebbero essere creati dinamicamente da una qualche forma di scripting lato server.
Come puoi vedere, da un punto di vista puramente tecnologico, qui non c'è nulla di veramente nuovo. La maggior parte delle parti AJAX erano già presenti nel 1994 (1999 per l' XMLHttpRequest
oggetto). La vera novità è stata quella di utilizzare insieme queste parti come ha fatto Google con GMail (2004) e Google Maps (2005). In realtà, entrambi i siti hanno contribuito notevolmente alla promozione di AJAX.
Un'immagine che vale più di mille parole, sotto un diagramma che illustra la comunicazione tra il client e il server remoto, nonché le differenze tra le applicazioni classiche e quelle alimentate da AJAX:
Per la parte arancione, puoi fare tutto a mano (con l' XMLHttpRequest
oggetto) oppure puoi usare famose librerie JavaScript come jQuery , Prototype , YUI , ecc. Per "AJAXify" il lato client della tua applicazione. Tali librerie mirano a nascondere la complessità dello sviluppo JavaScript (ad esempio la compatibilità cross-browser), ma potrebbero essere eccessive per una semplice funzionalità.
Lato server, possono essere d'aiuto anche alcuni framework (es. DWR o RAJAX se stai usando Java), ma tutto quello che devi fare è fondamentalmente esporre un servizio che restituisce solo le informazioni richieste per aggiornare parzialmente la pagina (inizialmente come XML / XHTML - la X in AJAX - ma oggigiorno spesso si preferisce JSON ).