AJAX jQuery e JSON

AJAX jQuery e JSON

In questa lezione utilizzeremo le tecnologie AJAX jQuery e JSON per realizzare una chiamata asincrona ad un file presente sul server.

Dunque proveremo a leggere i dati da un file JSON. Inoltre, per chi volesse approfondire l’argomento inerente i file JSON, indico un semplice tutorial che ho creato: Introduzione a JSON. Allego anche il link all’esempio inerente la creazione della chiamata AJAX per i file JSON, realizzata in JavaScript: AJAX e JSON.

Esempio utilizzando AJAX jQuery e JSON

Dunque creiamo lato html questo semplice codice, composto da un pulsante che consente di inviare dei dati e da un div che consente di visualizzare i dati json.

<div id="dati-file"></div>
<button type="button" id="load">Carica dati</button>

Dopo, lato jQuery, creo una chiamata AJAX al file JSON caricato sul server web.

Questo file contiene le seguenti informazioni in formato stringa che il metodo provvede direttamente a trattare come oggetto.

{
"marca": "Fiat",
"modello": "500",
"colore": "bianco",
"alimentazione": "benzina",
"anno": "2010"
}

Ecco dunque il link al file: https://www.codingcreativo.it/json-ex/auto.json

Per il corretto funzionamento non dimentichiamo, inoltre, di inserire nella pagina html il link alla cdn jQuery:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

Inseriamo anche il link al nostro script che andremo a creare.

Quindi utilizzeremo innanzitutto il metodo affrontato nella lezione precedente $.ajax e impostiamo l’url e i parametri method, success ed error.

Success è la funzione che verrà eseguita in caso di successo della chiamata a cui passiamo come parametro risposta che rappresenta i dati restituiti dal server web. Risposta è dunque in questo caso l’oggetto restituito in caso di successo. Di conseguenza, per richiamare le proprietà dell’oggetto basta seguire la notazione utilizzata per gli oggetti JavaScript.

Error invece verrà eseguita in caso di errore, visualizzando semplicemente il messaggio: ‘Si è verificato un errore‘.

Ecco di seguito il codice completo realizzato utilizzando AJAX jQuery e JSON:

$(document).ready(function(){
  $('#load').click(function (){
    $.ajax({
      url: 'https://www.codingcreativo.it/json-ex/auto.json',
      method: 'GET',
      success: function(risposta) {
        var dati = risposta.marca + ' ' + risposta.modello + ' ' + risposta.colore + ' ' + risposta.alimentazione + ' ' + risposta.anno;
        $('#dati-file').html(dati);
      },
      error: function() {
        console.log('Si è verificato un errore');
      }
    });
    });
});

Prova l’esempio che utilizza AJAX jQuery e JSON

Lo stesso risultato si poteva ottenere con un ciclo for in. Quindi modifichiamo il codice in questo modo:

success: function(risposta) {
        for (k in risposta){
           var dati = risposta[k] + ' ';
            $('#dati-file2').append(dati);
        }
      },

Alcuni link utili

Tutorial jQuery

Tutorial JavaScript

Rimuovere attributi agli elementi del DOM con JavaScript

Creare attributi agli elementi

Come creare elementi nel dom con javascript

Dom in javascript

Come creare una galleria di immagini con javascript

Utilizzare gli array in javascript

Alcuni esempi con javascript alert

AJAX e jQuery

AJAX e jQuery

AJAX e jQuery sono tecnologie utili per implementare delle chiamate asincrone, in maniera piuttosto semplice.

Abbiamo già parlato di AJAX in questa lezione: Introduzione ad AJAX e abbiamo visto come creare chiamate asincrone utilizzando JavaScript.

Inoltre abbiamo fatto degli esempi su come leggere da un file presente su un server web, utilizzando l’oggetto xmlhttprequest.

Il metodo jQuery.ajax o $.ajax

jQuery dispone del metodo $.ajax() che permette di effettuare una chiamata asincrona e anche di personalizzarla.

Questo metodo restituisce un oggetto jqXHR che contiene tutte le informazioni sull’oggetto Javascript XMLHttpRequest originale.

Sintassi del metodo

$.ajax ({url[, settings]})

Quindi all’interno delle parentesi si possono specificare dei parametri, tra cui l’url.

Studiamo i principali parametri che è possibile impostare in questo metodo, in quanto sono veramente tantissimi. Per un maggiore approfondimento rimando inoltre al link del sito ufficiale: metodo jquery.ajax.

url

L’url rappresenta il percorso del file richiesto, cioè la nostra risorsa.

settings

Valore opzionale che rappresenta un insieme di coppie/valore, le quali caratterizzano la richiesta AJAX in jQuery, infatti consentono di specificare numerosi parametri tra cui:

method: rappresenta il metodo HTTP che serve per la richiesta. Può avere questi valori: POST, GET oppure PUT. Mentre il valore di default è GET.

dataType: serve a specificare il tipo di dati che si riceve dal server web. I possibili valori sono: json, xml, txt, ecc.

success (data, textStatus, jqXHR): è una funzione che verrà eseguita in caso di successo della chiamata. I parametri opzionali che accetta sono tre, data che rappresenta i dati restituiti dal server, textStatus lo stato e l’oggetto jqXHR.

error (jqXHR, textStatus, errorThrown): è una funzione che verrà eseguita in caso di errore nella chiamata effettuata, ad esempio perché la risorsa non è accessibile. I parametri sono opzionali.

Esempio di chiamata AJAX con jQuery

Facciamo adesso un semplice esempio in cui applicheremo queste tecnologie.

Lato html inseriamo un div dove andremo a visualizzare i dati del documento da richiedere ad un server web.

<p>Qui si visualizzeranno i dati ricavati dal file txt caricato sul server, dopo aver cliccato sul pulsante carica dati.</p>
<button type="button" id="load">Carica dati</button>
<div id="dati-file" style="background:yellow"></div>

Non dimentichiamo nella pagina html di inserire anche il link alla cdn jQuery:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

Dopo, lato JavaScript, al click sul pulsante richiamiamo il metodo ajax dove, oltre alla url impostiamo il metodo al valore get, ed implementiamo le funzioni in caso di successo e di errore.

Ecco dunque l’esempio completo che utilizza la tecnologia AJAX e jQuery.

   $(document).ready(function(){
      $('#load').click(function (){
        $.ajax({
          method: "GET",
          // specifico la URL della risorsa da contattare
          url: "https://www.codingcreativo.it/ajax.txt",  
          // imposto l'azione in caso di successo
          success: function(risposta){
          //visualizzo il contenuto del file nel div htmlm
            $("#dati-file").html(risposta);
          },
          //imposto l'azione in caso di insuccesso
          error: function(stato){
            alert("Qualcosa è andato storto");
          }
        });
        });
    });

Prova l’esempio

Qui si visualizzeranno i dati ricavati dal file txt caricato sul server, dopo aver cliccato sul pulsante carica dati.

In questa lezione abbiamo semplicemente introdotto il concetto di AJAX e jQuery, nella prossima lezione vederemo come interagire con i file JSON.

Alcuni link utili

Tutorial jQuery

Tutorial JavaScript

Rimuovere attributi agli elementi del DOM con JavaScript

Creare attributi agli elementi

Creare elementi nel dom con javascript

Dom in javascript

Come creare una galleria di immagini con javascript

Utilizzare gli array in javascript

Alcuni esempi con javascript alert