Slanje forme preko AJAX-a koristeći FormData JavaScript

Pomoću FormData moguće je automatski poslati sva polja forme na server. Hajde da pogledamo kako se to radi.

Neka imamo sledeću formu, u kojoj su inputima dati atributi name:

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

Hajde da pošaljemo ovu formu preko AJAX-a. Za početak ćemo dobiti referencu na formu u promenljivu:

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

Sada u telu zahteva kao podatke navedimo objekat FormData. A samom objektu prosledimo parametrom referencu na formu:

public/client.jsform.addEventListener('submit', function(event) {
  let promise = fetch('/handler/', {
    method: 'POST',
    body: new FormData(this) // prosleđujemo referencu na formu
  });
  
  event.preventDefault();
});

Kao rezultat, na serveru ćemo moći dobiti vrednosti input-a po njihovim imenima iz atributa name:

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

Data je forma sa pet input-a, u koje se unose brojevi. Pošaljite ovu formu na server POST metodom. Neka server pronade aritmetičku sredinu unetih brojeva i pošalje rezultat nazad u brauzer.