back to top

Aggiornare dinamicamente il contenuto di un DIV senza ricaricare la pagina con jQuery e AJAX

Gli aggiornamenti in real time possono essere particolarmente utili quando si desidera mostrare un nuovo contenuto all’interno di un DIV (o di un qualsiasi altro elemento della pagina) senza dover ricaricare l’intera pagina. In questo articolo, vedremo come implementare un sistema per effettuare il refresh di un DIV senza il reload della pagina.

La soluzione proposta si basa sul framework JavaScript jQuery, consentendo di raggiungere l’obiettivo attraverso un semplice evento come un click su un collegamento ipertestuale o un pulsante.

รˆ importante sottolineare che lo stesso risultato puรฒ essere ottenuto anche senza jQuery, utilizzando puro JavaScript o altri framework moderni come Vue.js o React.

Cambiare il contenuto di un DIV con jQuery

La prima operazione da compiere รจ includere jQuery tra i tag <head> della pagina. Sempre all’interno dei tag <head>, inseriremo il codice JavaScript che ci permetterร  di intercettare l’evento “click” e di caricare nuovi contenuti all’interno del DIV:

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

<script>
$(document).ready(function() {
  $("#modificaTesto").click(function() {
    $("#boxContenuto").html("<p>Questo รจ il nuovo contenuto del DIV...</p>");
  });
});
</script>

All’interno del tag <body>, inseriremo il <div> e il pulsante che faranno riferimento ai due selettori definiti precedentemente: “boxContenuto” (per il DIV di cui vogliamo aggiornare il contenuto) e “modificaTesto” (per il pulsante che attiverร  l’azione):

<div id="boxContenuto">
  <p>Contenuto originale del DIV al momento del primo caricamento di pagina</p>
</div>

<button id="modificaTesto">Aggiorna DIV</button>

L’esempio proposto รจ molto semplice, ma sufficiente per mostrare le potenzialitร  di jQuery nell’interagire con il DOM della pagina. Nel nostro esempio, abbiamo semplicemente cambiato il testo contenuto in un DIV, ma nulla vieta di iniettare anche codice HTML complesso e quindi apportare modifiche significative all’aspetto e al contenuto di una pagina web senza dover ricaricare l’intera pagina.

Il contenuto del DIV puรฒ anche essere prelevato dinamicamente da una base di dati utilizzando le funzioni AJAX, oppure puรฒ essere caricato mediante l’inclusione di altri file.

Aggiornare il contenuto di un DIV prelevando dati da un database remoto

L’esempio visto in precedenza puรฒ essere esteso per dinamizzare il contenuto del DIV prelevando dati da un database o da un’altra sorgente remota. Per fare ciรฒ, possiamo utilizzare le funzioni AJAX di jQuery in questo modo:

<script>
$(document).ready(function() {
  $("#modificaTesto").click(function() {
    $.ajax({
      url: "mioscript.php",
      method: "GET",
      success: function(output) {
        $("#boxContenuto").html(output);
      },
      error: function() {
        $("#boxContenuto").html("<p>Si รจ verificato un errore nel caricamento dei dati.</p>");
      }
    });
  });
});
</script>

Il codice si connette a uno script lato server (in questo esempio, “mioscript.php”) che esegue una query su un database, recupera i dati necessari e genera un output HTML che viene iniettato dinamicamente nel DIV. Inoltre, abbiamo aggiunto una gestione degli errori che avvisa l’utente in caso di problemi nel caricamento dei dati.

รˆ anche possibile inviare dati allo script lato server utilizzando il parametro data in questo modo:

<script>
$(document).ready(function() {
  $("#modificaTesto").click(function() {
    $.ajax({
      url: "mioscript.php",
      method: "POST",
      data: { nome: "Mario", cognome: "Rossi" },
      success: function(output) {
        $("#boxContenuto").html(output);
      },
      error: function() {
        $("#boxContenuto").html("<p>Si รจ verificato un errore nel caricamento dei dati.</p>");
      }
    });
  });
});
</script>

In questo modo, realizziamo una perfetta interazione tra l’interfaccia utente e la base dati, consentendo all’utente di inviare dati al server e di ottenere una risposta che viene poi visualizzata nel DIV.

Per maggiori informazioni su jQuery e AJAX, si consiglia la lettura di questo articolo.

Aggiornare il contenuto di un DIV mediante il metodo load()

Un’altra tecnica per effettuare il refresh del contenuto di un DIV senza eseguire un reload della pagina รจ l’utilizzo del metodo load() di jQuery.

Questo metodo consente di caricare contenuti all’interno di un DIV (o di un altro elemento del DOM) direttamente da un file esterno. Vediamo il codice JavaScript modificato:

<script>
$(document).ready(function() {
  $("#modificaTesto").click(function() {
    $("#boxContenuto").load("miofile.html");
  });
});
</script>

In questo caso, il nostro DIV verrร  popolato dinamicamente con il contenuto del file specificato nel metodo load(). Nel nostro esempio, si tratta di un semplice file HTML, ma nulla vieta di utilizzare script lato server come file PHP o ASPX.

Considerazioni Finali

Le tecniche illustrate in questo articolo mostrano come aggiornare dinamicamente il contenuto di un DIV senza dover ricaricare l’intera pagina, migliorando cosรฌ l’esperienza utente. รˆ importante scegliere la soluzione piรน adatta alle proprie esigenze, considerando la complessitร  e le performance del progetto. L’utilizzo di jQuery รจ semplice e versatile, ma per progetti piรน avanzati o complessi, potrebbe essere opportuno considerare l’adozione di framework moderni come Vue.js, React, o Angular, che offrono strumenti piรน potenti per la gestione dinamica dei contenuti e delle interazioni utente.

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

Leggi anche...

Infinite scroll, come programmarlo su AMP e su Web con Javascript

L'infinite scroll è una tecnica di design e navigazione...

Codice Fiscale: 5 javascript per la verifica e il calcolo

Il codice fiscale รจ un identificativo tributario univoco che...

Math.ceil() – Arrotondare per eccesso con Javascript

Il metodo ceil() dell'oggetto Math di Javascript è utilizzato...

Minificare Javascript: librerie e strumenti online per comprimere il sorgente JS

La minificazione è un processo abbastanza diffuso nell'implementazione delle...

Javascript: svuotare un campo input o una textarea con un click

Quando si fornisce agli utenti un modulo per l'inserimento...

6 video player HTML5 per il tuo sito web

Con il rilascio delle specifiche definitive per HTML5 molte...
Pubblicitร