ფორმების გაგზავნის მეთოდები 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';
  }
}