Pošiljanje obrazca prek AJAX z uporabo FormData v JavaScriptu

Z FormData lahko samodejno pošljemo vsa polja obrazca na strežnik. Poglejmo, kako se to naredi.

Recimo, da imamo naslednji obrazec, kjer so vnosnim poljem dodeljeni atributi name:

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

Pošljimo ta obrazec prek AJAX. Za začetek pridobimo povezavo do obrazca v spremenljivko:

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

Zdaj v telesu zahteve kot podatke navedemo objekt FormData. Samemu objektu kot parameter posredujemo povezavo do obrazca:

public/client.jsform.addEventListener('submit', function(event) {
  let promise = fetch('/handler/', {
    method: 'POST',
    body: new FormData(this) // posredujemo povezavo do obrazca
  });
  
  event.preventDefault();
});

Kot rezultat bomo na strežniku lahko pridobili vrednosti vnosnih polj po njihovih imenih iz atributov name:

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

Podan je obrazec s petimi vnosnimi polji, v katera se vnašajo števila. Pošljite ta obrazec na strežnik z metodo POST. Naj strežnik poišče aritmetično sredino vnesenih števil in pošlje rezultat nazaj v brskalnik.