Formų siuntimo metodai JavaScript

Formos gali būti siunčiamos dviem būdais: GET metodu arba POST metodu. Formos siuntimo būdas reguliuojamas formos method atributu.

Pavyzdžiui, nurodykime formai siuntimo metodą GET:

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

O dabar POST metodas:

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

Dabar pažiūrėkime, kuo skiriasi šie du siuntimo metodai. GET metodo atveju formos duomenys bus matomi naršyklėje kaip vadinamoji parametrų eilutė (query string), kuri yra rakto-reikšmės poros, kur rakto reikšmė bus formos elemento vardas, o reikšme - įvesti į jį duomenys. Šiuo atveju reikšmių poros bus atskirtos ampersandais.

GET metodu išsiųsti duomenys pateks mūsų serveryje į get savybę duomenų objekte:

server.jsexport default {
  '/handler/': function(data) {
    console.log(data.get); // bus išvesta į serverio konsolę
    return 'form data received';
  }
}

O POST metodu išsiųsti duomenys pateks mūsų serveryje į post savybę duomenų objekte:

server.jsexport default {
  '/handler/': function(data) {
    console.log(data.post); // bus išvesta į serverio konsolę
    return 'form data received';
  }
}

Trumpumui galima atlikti destruktūrizaciją, kad gautume savo duomenis į atskirą kintamąjį:

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