Quale tecnologia volete sia più approfondita in questa guida?
A cura di Christian Ponis
Pubblicato il 27/01/2006
Cosa è AJAX e a cosa serve.
AJAX è una metodologia di sviluppo web che sfrutta la dinamicità del Javascript (quindi del DHMTL) e la flessibilità dell'XML. Non a caso il nome è l'acronimo di Asinchronous JAvascript and XML. Di conseguenza non è una tecnologia strettamente legata al linguaggio di programmazione, ma può essere utilizzata sia con Java, che con ASP/ASP.NET, che con PHP.
Ma in cosa consiste questa metodologia? Sostanzialmente quando ci connettiamo ad un sito internet e scarichiamo una pagina scarichiamo un certo quantitativo di dati. La pagina è composta solitamente da una cornice, diverse immagini, magari una tabella o comununque degli oggetti. Qualora volessimo caricare un'altra pagina dello stesso sito, dobbiamo riformulare la richiesta al server che ci reinvia di nuovo, per esempio, gli elementi decorativi del sito. Con AJAX invece si sfrutta Javascript per aggiornare dinamicamente SOLO una parte di pagina: quella per la quale abbiamo fatto richiesta. In questa maniera i dati che vengono scambiati sono nettamente inferiori, quindi la velocità maggiore.
Ipotizziamo di avere un elenco di nomi in ordine alfabetico per il quale abbiamo fatto richiesta ad un server e di avere la necessità di metterli in ordine alfabetico inverso. In un caso normale dovremmo cliccare sul tasto adibito a tale azione, partirebbe così una richiesta al server che ci reinvierebbe totalmente tutto il risultato della query adibita a far questo nonché il contorno della pagina. Sfruttando invece le caratteristiche del Javascript potremmo ottenere tutto questo lato client.
Ovviamente non ci sono solo pro ma anche contro. Caricando solo parti di pagina dinamicamente si otterrebbero risultati indesiderati cliccando sul tasto indietro del browser, oppure proprio a causa dell'utilizzo massiccio del Javascript/DHMTL la compatibilità con i vari browser non è totale.
Ci sono comunque metodi per risolvere il primo problema e oggetti (Sarissa, etc.) che tamponano il secondo.
Per una maggior "infarinatura" su AJAX comunque visitate i link correlati.