Menu Maturando
Crea account gratuitoHai già un account? Accedi

Informatica · 5. Programmazione web lato client

Richieste asincrone: AJAX e Fetch API

  • Riassunto
  • Argomento 3 di 4

Si inizia gratis

Hai ripassato. Adesso mettiti alla prova.

Accedi per salvare i progressi e iniziare un quiz.

Richieste sincrone e asincrone

Una richiesta sincrona blocca l’attività: è come aspettare al bancone finché il panino non è pronto. Una richiesta asincrona permette invece di continuare a fare altro mentre i dati arrivano. Nel web il browser chiede dati al server e la pagina non si blocca: l’utente può scorrere o cliccare mentre il download avviene in background.

AJAX e XMLHttpRequest

La prima tecnologia usata per le richieste asincrone è AJAX, Asynchronous JavaScript and XML. AJAX si basa sull’oggetto XMLHttpRequest. I passaggi tipici sono: creare l’oggetto, aprire la connessione, definire cosa fare all’arrivo dei dati e inviare la richiesta. Oggi AJAX puro si usa poco perché il codice è lungo, complesso e difficile da leggere.

Fetch API e Promises

La Fetch API è moderna, integrata nei browser e si basa sulle Promises: un “ti prometto che prima o poi ti darò il risultato” che non blocca il codice. Rispetto ad AJAX offre codice più corto e leggibile, gestione degli errori più chiara e supporto nativo a JSON, che oggi ha sostituito XML. Con Fetch si chiama fetch con l’URL, si usa then() per attendere la risposta, si converte in JSON e con un altro then() si usano i dati; catch() gestisce gli errori.

  • Passaggi Fetch: chiamata, attesa, conversione JSON, uso dei dati.
  • Errore di rete: intercettato con catch().
asincronoAJAXXMLHttpRequestFetch APIPromisesJSONthen()catch()