V tomto tutoriále sa dozvieš, ako prijímať a spracovávať formulárové údaje pomocou GET metódy. Vytvoríš jednoduchý formulár v HTML a uvidíš, ako sa tieto údaje odosielajú na server cez adresu. Prejdeme si základy GET požiadavky a načrtneme potrebné kroky v Express.js.

Najdôležitejšie poznatky

  • Formulárové údaje môžu byť odoslané na server pomocou GET metódy.
  • Odoslané údaje sa zobrazujú ako query parametre v URL adrese.
  • Môžeš ľahko pristupovať k query parametrom požiadavky a ďalej ich spracovať.

Postup krok za krokom

Najprv začneme vytvorením HTML formulára. Akcia tvojho formulára je dôležitá, pretože určuje, kam budú odoslané formulárové údaje.

Pre vytvorenie jednoduchého formulára pridaj nasledovné:

Vytvor web formuláre: Ľahko pochopiť GET požiadavky

Akcia formuláru obsahuje cestu, kam majú byť odoslané údaje, v našom prípade /submitform. Tu neskôr definujeme GET handler v našom Express serveri. Na vstup použijeme jednoduché textové pole:

Vytvorte webové formuláre: Ľahko pochopite GET požiadavky

Keď je formulár nastavený, uistime sa, že server je pripravený prijať údaje. Musíš sa uistiť, že si nakonfiguroval GET metódu vo svojom Express serveri na spracovanie požiadaviek.

Potom obnov stránku, aby si sa uistil, že všetko funguje. Ak do textového poľa niečo napíšeš, môžeš formulár odoslať stlačením klávesy Enter, aj keď nemáš tlačidlo na odoslanie.

Vytvorte webové formuláre: Ľahko pochopíte GET požiadavky

Po odoslaní formulára by mal prísť odozva zo servera potvrdzujúca úspešnosť odosielania údajov.

Vytvorte webové formuláre: Jednoducho porozumieť požiadavkám GET

Tu môžeš vidieť payload, ktorý bol odoslaný na server. V našom prípade bol parameter Meno pripojený na URL adrese.

V kóde servera sa teraz pozrieme na príslušný GET handler, ktorý potrebujeme na spracovanie požiadavky. Kód bude v tvojom súbore index.js. Handler definuješ nasledovne:

Vytvorte webové formuláre: Ľahko porozumiete GET požiadavkám

Teraz môžeš získať query parametre v kóde servera prístupom k request.query. To môžeš tiež implementovať vo svojom GET handleri.

Vytvorte webové formuláre: Jednoducho pochopiť GET požiadavky

Po znovu odoslaní formulára uvidíš, že parameter je správne vrátený. Dávaj pozor, aby si po každej zmene na serveri reštartoval server.

Vytvorte webové formuláre: Jednoducho pochopiť GET požiadavky

Na prístup k menám použi formát request.query.Name. Ak zmeníš meno vo formulári, uisti sa, že parameter je upravený aj v kóde servera.

Vytvorte webové formuláre: Ľahko pochopiť GET požiadavky

Ak zmeníš meno vo formulári na first_name, požadovaný parameter bude vyzerať nasledovne:

Vytvorte webové formuláre: Jednoducho pochopiť GET požiadavky

Vidíš, že server správne prijíma a vracia údaje:

Vytvorte webové formuláre: Jednoducho pochopite požiadavky GET

S týmto základným vedomím môžeš teraz spracovávať prijaté údaje, napríklad ich ukladať do databázy, používať na inom mieste alebo ich jednoducho vrátiť.

Ak chceš, môžeš dokonca vrátiť prijaté údaje klientovi a fungovať ako Echo server.

Vytvorte webové formuláre: jednoducho pochopiť GET požiadavky

Výstup by mohol vyzerať takto:

Vytvorte webové formuláre: Jednoducho pochopte GET požiadavky

Ak zadáte špeciálne znaky do textového poľa, server ich tiež spracuje a dekóduje podľa potreby. Zistíte, že výstup je správne realizovaný, nezávisle na znakoch, ktoré používateľ zadal.

Vytvorte webové formuláre: Prehlbinenie požiadavok GET jednoducho

Dôležité je si uvedomiť, že rôzne serverové frameworky pracujú s kódovaním odlišne. Pri použití Expressu je dekódovanie dotazných parametrov zvyčajne už obsiahnuté, takže sa nemusíte starať o túto časť.

Vytvorte webové formuláre: jednoduché pochopenie GET požiadaviek

Teraz máte základy pre spracovanie GET požiadaviek, a diskutovali sme aj o použití dotazných parametrov vo frameworku Express. Ďalej sa pozrieme na POST metódu, ktorá vyžaduje inú implementáciu.

Zhrnutie

V tejto tutoriáli ste sa naučili, ako vytvoriť jednoduchú webovú formulárovú aplikáciu s metódou GET. Proces zahŕňa nastavenie HTML formulára, odoslanie formulárnych údajov na server Express a získanie dotazných parametrov na ďalšie spracovanie. Tiež ste videli, ako je server správne nakonfigurovaný na prijímanie a odpovedanie na formulárne údaje.

Často kladené otázky

Aký je rozdiel medzi GET-om a POST-om?GET posiela údaje cez URL, zatiaľ čo POST prenáša údaje v tele požiadavky.

Ako môžem použiť viacero parametrov vo svojom formulári?Môžete pridať viac vstupných polí do vášho formulára a prispôsobiť ich názvy podľa potreby.

Ako riešiť špeciálne znaky vo formulárnych údajoch?Express automaticky dekóduje špeciálne znaky.

Musím pri každej zmena reštartovať server?Áno, všetky zmeny kódu servera vyžadujú reštart servera, aby sa stali účinnými.