Metódy odosielania formulárov v JavaScripte

Formuláre môžu byť odoslané dvoma spôsobmi: metódou GET alebo metódou POST. Spôsob odoslania formulára je regulovaný atribútom method formulára.

Napríklad, nastavme pre formulár metódu odoslania GET:

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

A teraz metódu POST:

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

Pozrime sa teraz, v čom je rozdiel medzi oboma metódami odoslania. V prípade metódy GET budú dáta formulára viditeľné v prehliadači v podobe takzvaného reťazca parametrov (query string), ktorý predstavuje páry typu kľúč-hodnota, kde kľúčom bude názov elementu formulára a hodnotou - zadané do neho dáta. Pritom budú páry hodnôt oddelené ampersandmi.

Dáta odoslané metódou GET sa dostanú na našom serveri do vlastnosti get objektu s dátami:

server.jsexport default {
  '/handler/': function(data) {
    console.log(data.get); // vypíše sa do konzoly servera
    return 'form data received';
  }
}

A dáta odoslané metódou POST sa dostanú na našom serveri do vlastnosti post objektu s dátami:

server.jsexport default {
  '/handler/': function(data) {
    console.log(data.post); // vypíše sa do konzoly servera
    return 'form data received';
  }
}

Pre stručnosť je možné vykonať destructuring, aby sme získali naše dáta do samostatnej premennej:

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