back to top

Inviare un form col metodo POST con AJAX e jQuery

In questo articolo vedremo come utilizzare la libreria jQuery, che dispone di comodissime funzioni per lavorare con AJAX e semplificare le operazioni con il DOM. Nello specifico vedremo come effettuare il submit di un form inviando dati col metodo POST via Ajax ad un’applicazione web.

Facciamo un semplice esempio di invio dei dati in POST con AJAX, recuperandoli sia via ASP che via PHP, considerando che gli script lato server si limiteranno a stampare a video i dati inviati: al lettore il compito di gestirli a seconda delle proprie esigenze progettuali.

Pubblicitร 

Per prima cosa richiamiamo la libreria jquery.js nell’header della nostra pagina Web:

<script type="text/javascript" src="jquery.js"></script>

Costruiamo ora il form HTML:

<form name="modulo">
    <p>Nome</p>
    <p><input type="text" name="nome" id="nome"></p>
    <p>Cognome</p>
    <p><input type="text" name="cognome" id="cognome"></p>
    <input type="button" id="bottone" value="Invia i dati">
</form>

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

Abbiamo creato un semplicissimo modulo che contiene due campi di input, un bottone per inviare i dati e un layer in cui verrร  stampato a video il risultato dell’operazione.

Analizziamo adesso il codice Javascript per gestire il form:

<script type="text/javascript">
$(document).ready(function() {
  $("#bottone").click(function(){
    var nome = $("#nome").val();
    var cognome = $("#cognome").val();
    $.ajax({
      type: "POST",
      url: "dati.ext",
      data: "nome=" + nome + "&cognome=" + cognome,
      dataType: "html",
      success: function(msg) {
        $("#risultato").html(msg);
      },
      error: function() {
        alert("Chiamata fallita, si prega di riprovare...");
      }
    });
  });
});
</script>

Nel codice sopra recuperiamo, attraverso il metodo ajax, le caratteristiche dell’invio: il metodo (POST), la URL del file lato server che gestirร  i dati (*), quindi specifichiamo che il valore di ritorno sarร  in formato HTML ed infine stampiamo a video il messaggio di conferma o di eventuale errore nella chiamata. รˆ importante gestire gli errori per migliorare l’esperienza utente.

Si noti che jQuery dispone anche di un’interessante shortcut per gestire le chiamate Ajax col metodo POST in modo piรน conciso:

<script type="text/javascript">
$(document).ready(function() {
  $("#bottone").click(function(){
    var nome = $("#nome").val();
    var cognome = $("#cognome").val();
    $.post("dati.ext", { nome: nome, cognome: cognome }, function(msg) {
      $("#risultato").html(msg);
    });
  });
});
</script>

Al metodo post() abbiamo passato, nell’ordine, la URL dello script lato server che riceverร  ed elaborerร  la richiesta, i dati recuperati dal form e la funzione di callback che stamperร  l’output. Questo approccio rende il codice piรน chiaro e diretto.

(*) Seguono ora gli esempi di codice ASP e PHP: nel codice Javascript cambieremo quindi la URL dati.ext con dati.asp piuttosto che con dati.php.

Iniziamo col codice ASP:

<%@LANGUAGE = VBScript%>
<%
    Dim nome, cognome
    nome = Request.Form("nome")
    cognome = Request.Form("cognome")
    If nome = "" Or cognome = "" Then
        Response.Write "Inserire nome e cognome!"
    Else
        Response.Write nome & " " & cognome
    End If
%>

Il codice ASP recupera i dati, verifica la compilazione del form e quindi li stampa a video. รˆ fondamentale fornire feedback all’utente riguardo ai dati inseriti.

L’esempio PHP รจ una semplice traduzione del codice ASP:

<?PHP
    $nome = $_POST["nome"];
    $cognome = $_POST["cognome"];
    if ($nome == "" || $cognome == "")
    {
        echo "Inserire nome e cognome!";
    }
    else
    {
        echo $nome . " " . $cognome;
    }
?>

In conclusione, possiamo notare quanto – grazie a jQuery – questo procedimento sia davvero semplice e non necessiti di particolari ulteriori spiegazioni. L’uso di AJAX per l’invio di moduli non solo migliora l’esperienza utente rendendo le operazioni piรน fluide, ma permette anche di gestire dati in modo piรน sicuro e strutturato.

Altri contenuti interessanti

Pubblicitร 

Potrebbero interessarti queste guide

Leggi anche...

Bloccare lโ€™orientamento di una pagina web su smartphone: come forzare la modalitร  portrait o landscape

Nellโ€™era mobile-first, lโ€™esperienza utente sui dispositivi mobili รจ un...

Numeri Random in JavaScript

La generazione di numeri random (numeri casuali) รจ unโ€™operazione...

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...
Pubblicitร