Metodi di invio dei moduli in JavaScript

I moduli possono essere inviati in due modi: con il metodo GET o con il metodo POST. Il metodo di invio del modulo è regolato dall'attributo method del modulo.

Ad esempio, specifichiamo il metodo di invio GET per il modulo:

public/form.html<form action="/handler/" method="GET">
  <input name="test1">
  <input name="test2">
  <input type="submit">
</form>

E ora il metodo POST:

public/form.html<form action="/handler/" method="POST">
  <input name="test1">
  <input name="test2">
  <input type="submit">
</form>

Ora vediamo qual è la differenza tra i due metodi di invio. Nel caso del metodo GET, i dati del modulo saranno visibili nel browser sotto forma della cosiddetta stringa di parametri (query string), che rappresenta coppie di tipo chiave-valore, dove la chiave sarà il nome dell'elemento del modulo e il valore - i dati inseriti in esso. Inoltre, le coppie di valori saranno separate da ampersand.

I dati inviati con il metodo GET andranno sul nostro server nella proprietà get dell'oggetto con i dati:

server.jsexport default {
  '/handler/': function(data) {
    console.log(data.get); // verrà visualizzato nella console del server
    return 'form data received';
  }
}

E i dati inviati con il metodo POST andranno sul nostro server nella proprietà post dell'oggetto con i dati:

server.jsexport default {
  '/handler/': function(data) {
    console.log(data.post); // verrà visualizzato nella console del server
    return 'form data received';
  }
}

Per brevità, è possibile eseguire la destrutturazione, per ottenere i nostri dati in una variabile separata:

server.jsexport default {
  '/handler/': function({get, post}) {
    console.log(get);
    console.log(post);
    return 'form data received';
  }
}