PHP
HTML
CSS
JavaScript
Generatori
Varie & Old

PHP: AJAX

AJAX in PHP

AJAX (Asynchronous JavaScript and XML) permette di aggiornare parti di una pagina senza ricaricarla interamente. Insieme a PHP consente lo scambio di dati in background, migliorando l’esperienza utente nelle applicazioni web moderne.

Introduzione

AJAX non è un linguaggio ma una tecnica che combina JavaScript, XMLHttpRequest (o Fetch API) e PHP per comunicare con il server in modo asincrono. I dati scambiati sono spesso in formato JSON, rendendo il caricamento delle pagine più veloce e interattivo.


Esempio base con AJAX e PHP

Vediamo un esempio semplice: una pagina HTML invia una richiesta AJAX a uno script PHP che restituisce un messaggio in formato JSON.

Codice Esempio: HTML + JavaScript

CODE: HTMLpreleva codice
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.   <title>Esempio AJAX</title>
  5. </head>
  6. <body>
  7.   <button onclick="caricaDati()">Richiedi dati</button>
  8.   <div id="risultato"></div>
  9.  
  10.   <script>
  11.     function caricaDati() {
  12.       fetch("server.php")
  13.         .then(response => response.json())
  14.         .then(data => {
  15.           document.getElementById("risultato").innerHTML = data.messaggio;
  16.         });
  17.     }
  18.   </script>
  19. </body>
  20. </html>

Codice Esempio: server.php

CODE: PHPpreleva codice
  1. <?php
  2. header("Content-Type: application/json");
  3.  
  4. $dati = ["messaggio" => "Risposta dal server PHP"];
  5. echo json_encode($dati);
  6. ?>
  7. <!-- Output (JSON):
  8. {"messaggio":"Risposta dal server PHP"}
  9. -->

AJAX con invio di dati

Oltre a ricevere dati, è possibile inviarne. Nell’esempio seguente si manda un nome al server e PHP restituisce una risposta personalizzata.

Codice Esempio: invio dati via POST

CODE: HTMLpreleva codice
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.   <title>AJAX con POST</title>
  5. </head>
  6. <body>
  7.   <input type="text" id="nome" placeholder="Inserisci il tuo nome">
  8.   <button onclick="invia()">Invia</button>
  9.   <div id="risposta"></div>
  10.  
  11.   <script>
  12.     function invia() {
  13.       let nome = document.getElementById("nome").value;
  14.  
  15.       fetch("server_post.php", {
  16.         method: "POST",
  17.         headers: {"Content-Type": "application/x-www-form-urlencoded"},
  18.         body: "nome=" + encodeURIComponent(nome)
  19.       })
  20.       .then(response => response.json())
  21.       .then(data => {
  22.         document.getElementById("risposta").innerHTML = data.saluto;
  23.       });
  24.     }
  25.   </script>
  26. </body>
  27. </html>

Codice Esempio: server_post.php

CODE: PHPpreleva codice
  1. <?php
  2. header("Content-Type: application/json");
  3.  
  4. $nome = $_POST["nome"] ?? "Ospite";
  5. echo json_encode(["saluto" => "Ciao, " . $nome . "!"]);
  6. ?>
  7. <!-- Output (JSON):
  8. {"saluto":"Ciao, Mario!"}
  9. -->

Tabella riassuntiva AJAX e PHP

Componente Descrizione Uso tipico
JavaScript (Fetch) Invia richieste asincrone al server. Recuperare o inviare dati senza ricaricare la pagina.
PHP Elabora la richiesta e restituisce la risposta. Generazione di JSON o HTML dinamico.
JSON Formato di scambio dati semplice e compatto. Trasporto di informazioni tra server e client.

Considerazioni

AJAX rende le applicazioni web più interattive e fluide. PHP, come linguaggio lato server, si integra perfettamente con AJAX per fornire dati aggiornati in tempo reale. È importante però validare sempre i dati ricevuti ed evitare di esporre informazioni sensibili tramite le chiamate asincrone.


I Cookie su questo sito:

Il nostro sito utilizza cookie e altre tecnologie in modo tale che sia noi, sia i nostri partner, possiamo ricordarci di te e capire come tu e gli altri visitatori utilizzate il nostro sito. Qui puoi trovare ulteriori informazioni sui cookie e le altre tecnologie. Chiudendo questo banner o continuando la navigazione acconsenti all'uso dei cookie. Acconsento Info Cookies