Метады адпраўкі формаў у JavaScript

Формы могуць быць адпраўлены двума спосабамі: метадам GET або метадам POST. Спосаб адпраўкі формы рэгулюецца атрыбутам method формы.

Напрыклад, укажам для формы метад адпраўкі GET:

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

А цяпер метад POST:

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

Давайце цяпер паглядзім, у чым розніца паміж двума метадамі адпраўкі. У выпадку метаду GET дадзеныя формы будуць бачны ў браўзэры ў выглядзе так званай радкі параметраў (query string), якая ўяўляе сабой пары выгляду ключ-значэнне, дзе ключом будзе імя элемента формы, а значэннем - уведзеныя ў яго дадзеныя. Пры гэтым пары значэнняў будуць падзелены амперсандамі.

Дадзеныя, адпраўленыя метадам GET, трапяць на нашым серверы ў уласцівасць get аб'екта з дадзенымі:

server.jsexport default {
  '/handler/': function(data) {
    console.log(data.get); // выведзецца ў кансоль сервера
    return 'form data received';
  }
}

А дадзеныя, адпраўленыя метадам POST, трапяць на нашым серверы ў уласцівасць post аб'екта з дадзенымі:

server.jsexport default {
  '/handler/': function(data) {
    console.log(data.post); // выведзецца ў кансоль сервера
    return 'form data received';
  }
}

Для караткасці можна выканаць дэструктурызацыю, каб атрымаць нашы дадзеныя ў асобную зменную:

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