V tomto tutoriálu se naučíš, jak přijímat a zpracovávat formulářová data pomocí metody GET. Vytvoříš jednoduchý formulář v HTML a uvidíš, jak jsou tato data odesílána na tvůj server prostřednictvím adresy. Projdeme si základy GET požadavku a shrneme potřebné kroky v Express.js.

Nejdůležitější informace

  • Formulářová data lze odeslat na server pomocí metody GET.
  • Odeslaná data se objevují jako query parametry v URL adrese.
  • Můžeš snadno přistoupit k query parametrům požadavku a dále je zpracovat.

Krok za krokem průvodce

Nejprve začneme s vytvořením HTML formuláře. Akce tvého formuláře je důležitá, protože určuje, kam budou formulářová data odeslána.

Pro vytvoření jednoduchého formuláře přidej následující:

Vytvořte webové formuláře: Snadné pochopení GET požadavků

Akce formuláře obsahuje cestu, na kterou mají být data odeslána, v našem případě /submitform. Zde bude později definován GET handler v našem Express serveru. Pro vstup použijeme jednoduché textové pole:

Vytvořte webové formuláře: Snadné porozumění GET požadavkům

Po nastavení formuláře je důležité zajistit, že server je připraven přijmout data. Musíš zajistit, že máš konfigurovanou GET metodu ve svém Express serveru, aby byly dotazy zpracovány.

Poté znovu načti stránku, aby sis ověřil, že vše funguje. Pokud něco zadáš do textového pole, formulář můžeš odeslat stisknutím klávesy Enter, i když neexistuje tlačítko pro odeslání.

Vytvořte webové formuláře: Snadno porozumějte GET požadavkům

Po odeslání formuláře by měla přijít odpověď ze serveru potvrzující úspěšné odeslání dat.

Vytvořte webové formuláře: Snadné pochopení GET požadavků

Zde můžeš vidět payload, který byl odeslán na server. V našem případě byl parametr Name připojen k URL adrese.

V serverovém kódu se nyní podíváme na odpovídající GET handler, který potřebujeme pro zpracování požadavku. Kód bude umístěn ve tvém souboru index.js. Handler definuješ následovně:

Vytvořte webové formuláře: Snadno porozumět GET požadavkům

Nyní můžeš v serverovém kódu získat query parametry přístupem k request.query. To můžeš rovněž implementovat ve svém GET handleru.

Vytvořte webové formuláře: Snadné porozumění GET požadavkům

Pokud formulář znovu odešleš, uvidíš, že parametr je správně vrácen. Při každé změně na serveru je důležité server znovu spustit.

Vytvořte webové formuláře: Snadné pochopení GET požadavků

K získání jména používáš formát request.query.Name. Při změně jména ve formuláři musíš také upravit parametr ve serverovém kódu.

Vytvářejte webové formuláře: Snadné porozumění GET požadavkům

Pokud změníš jméno ve formuláři na first_name, požadovaný parametr vypadá následovně:

Vytvořte webové formuláře: jednoduché porozumění GET požadavkům

Je vidět, že server data správně přijímá a vrací je:

Vytvořte webové formuláře: Snadno pochopíme GET požadavky

S těmito základy můžeš nyní zpracovávat přijatá data, jako například je ukládat do databáze, používat je jinde nebo je jednoduše vrátit zpět.

Pokud chceš, můžeš odeslaná data dokonce poslat zpět klientovi a fungovat jako echo server.

Vytvořte webové formuláře: Snadné pochopení GET požadavků

Výstup by mohl vypadat následovně:

Vytvořte webové formuláře: Snadné porozumění GET požadavkům

Pokud zadáte speciální znaky do textového pole, server je rovněž zpracuje a odpovídajícím způsobem dekóduje. Zjistíte, že výstup je správný, bez ohledu na znaky, které uživatel zadal.

Vytvořte webové formuláře: Snadné porozumění GET požadavkům

Je důležité si uvědomit, že různá serverová rámcoví zachází s kódováním odlišně. Při použití Expressu je dekódování query parametrů obvykle již zahrnuto, takže si o tom nemusíte dělat starosti.

Vytvářejte webové formuláře: Snadno porozumět GET požadavkům

Nyní máte základy pro zpracování GET požadavků a také jsme diskutovali o použití query parametrů v rámci frameworku Express. Příště se budeme zabývat metodou POST, která vyžaduje jinou implementaci.

Shrnutí

V tomto tutoriálu jste se naučili, jak vytvořit jednoduchou webovou formulářovou aplikaci s metodou GET. Proces zahrnuje nastavení HTML formuláře, odeslání formulářových dat na server Express a získání query parametrů pro další zpracování. Viděli jste také, jak správně nakonfigurovat server, aby přijímal formulářová data a reagoval na ně.

Často kladené dotazy

Jaký je rozdíl mezi GET a POST?GET odesílá data přes URL, zatímco POST data přenáší v těle požadavku.

Jak mohu použít více parametrů ve svém formuláři?Můžete do svého formuláře přidat více vstupních polí a přizpůsobit jejich názvy odpovídajícím způsobem.

Jak zacházet se speciálními znaky ve formulářových datech?Express automaticky zpracovává dekódování speciálních znaků.

Musím znovu spustit server při každé změně?Ano, všechny změny v kódu serveru vyžadují restart serveru, aby nabyla platnosti.