Слање образаца преко AJAX-а помоћу FormData у JavaScript-у

Помоћу FormData можемо аутоматски послати сва поља обрасца на сервер. Погледајмо како се то ради.

Претпоставимо да имамо следећи образац, у коме су инпутима дати атрибути name:

public/index.html<form action="" method="GET">
  <input name="num1">
  <input name="num2">
  <input type="submit">
</form>

Пошаљимо овај образац преко AJAX-а. За почетак, преузмемо референцу на образац у променљиву:

public/client.jslet form = document.querySelector('form');

Сада у телу захтева као податке наведемо објекат FormData. А самом објекту као параметар проследимо референцу на образац:

public/client.jsform.addEventListener('submit', function(event) {
  let promise = fetch('/handler/', {
    method: 'POST',
    body: new FormData(this) // прослеђујемо референцу на образац
  });
  
  event.preventDefault();
});

Као резултат, на серверу ћемо моћи да добијемо вредности инпута по њиховим именима из атрибута name:

server.jsexport default {
  '/handler/': function({post}) {
    console.log(post.num1);
    console.log(post.num2);
    return 'form data received';
  }
}
Задание 1

Дат је образац са пет инпута, у које се уносе бројеви. Пошаљите овај образац на сервер методом POST. Нека сервер пронађе аритметичку средину унетих бројева и пошаље резултат натраг у прегледач.