Nello sviluppo di un applicativo web nasce il bisogno di poter realizzare un”elaborazione e mostrare i risultati nella pagina web senza dover necessariamente riaggiornare la pagina, il tutto in modo dinamico.

Per questo scopo, con l’avvento del javascript, nasce la tecnologia AJAX: una tecnica di sviluppo software per la realizzazione di pagine interattive. AJAX significa Asynchronous Javascript and XML, ovvero chiamata in formato XML asincrona. In poche parole riusciamo, tramite un”oggetto (XMLHttprequest) a trasmettere dei dati in GET o in POST a un URL e a prenderne il risultato per iniettarlo nel DOM o per altri scopi.

La cosa buona è che qualche anno fa per eseguire una richiesta XMLHttpRequest era abbastanza complicato e ci volevano righe e righe di codice, mentre ora grazie a JQuery possiamo gestire l’oggetto AJAX in modo funzionale e veloce. Vediamo insieme come farlo.

Innanzitutto per istanziare un oggetto ajax basta scrivere $.ajax. Per operare poi con esso all”interno sono implementate varie funzioni che tornano utili al nostro scopo. Facciamo un esempio:


var result;
$.ajax({
   type: ''GET'',//GET o POST a seconda della chiamata che vogliamo fare
   url: "http://www.sitoprova.it/ajax.php", //url dello script PHP sul nostro server
   data: {mex:"1"}, //dati che passiamo allo script
   success: function (risp) {\

      $(''#div'').innerHTML = risp;
   },
   error: function (error) {
      alert(error);//funzione di gestione dell''errore
   }
});

In questo caso si eseguirà una chiamata AJAX allo script ajax.php fatto, ad esempio, in questo modo:


<?php
   $mex=$_GET[''mex''];//$_GET o $_POST a seconda della chiamata AJAX che facciamo
   if($mex == 1){
      $mex = "CIAO";
   }
   echo $mex;
?>

Eseguita questa chiamata si eseguirà la funzione dichiarata nel success dell”oggetto ajax e verrà assegnato il valore in output dello script PHP (CIAO) a un div dichiarato nell”html in questo modo, ad esempio:


<div id="div"></div>

Il risultato è che avremo un div in HTML che conterrà la scritta CIAO. Nello script PHP possiamo fare qualsiasi computazione, anche prendere dei dati da un database e mostrarli sempre tramite chiamata AJAX con il formato JSON sostituendo l”echo nel PHP, in questo modo:


//in var ci saranno i dati presi da una query a un database
$var = array(''idutente' => "1", "nome"=>"Renzo");
echo json_encode($var);

Fatto questo il codice nella funzione del success diventerà:


$.ajax({
   type: ''GET'',
   url: "http://www.sitoprova.it/ajax.php",
   success: function (risp) {
      result = JSON.parse(risp);
      $(''#div'').innerHTML = ''Idutente: '' + result.idutente + ''Nome: '' + result.nome;
   },
   error: function (error) {
      alert(error);
   }
});

In questo modo stamperemo l’id utente e il nome in un div HTML.