Formu iesniegšanas metodes JavaScript

Formas var iesniegt divos veidos: ar GET metodi vai POST metodi. Formas iesniegšanas veidu regulē formas atribūts method.

Piemēram, norādīsim formai iesniegšanas metodi GET:

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

Un tagad POST metode:

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

Tagad apskatīsim, kāda ir atšķirība starp abām iesniegšanas metodēm. GET metodes gadījumā formas dati būs redzami pārlūkprogrammā tā sauktajā parametru virknē (query string), kas ir atslēgas-vērtību pāri, kur atslēga būs formas elementa nosaukums, bet vērtība - tajā ievadītie dati. Šajā gadījumā vērtību pāri būs atdalīti ar & zīmēm.

Ar GET metodi nosūtītie dati nonāks mūsu serverī get īpašībā datu objekta:

server.jsexport default {
  '/handler/': function(data) {
    console.log(data.get); // izvadīsies servera konsolē
    return 'form data received';
  }
}

Un ar POST metodi nosūtītie dati nonāks mūsu serverī post īpašībā datu objekta:

server.jsexport default {
  '/handler/': function(data) {
    console.log(data.post); // izvadīsies servera konsolē
    return 'form data received';
  }
}

Īsuma labad var izmantot destruktūrizāciju, lai iegūtu mūsu datus atsevišķā mainīgajā:

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