このチュートリアルでは、GETメソッドを使用してフォームデータを受信および処理する方法を学びます。単純なHTMLフォームを作成し、このデータがサーバーにアドレスを介してどのように送信されるかを確認します。GETリクエストの基本を説明し、Express.jsでの必要な手順を概説します。

重要なポイント

  • フォームデータはGETメソッドを使用してサーバーに送信できます。
  • 送信されたデータはURLのクエリパラメータとして表示されます。
  • リクエストのクエリパラメータに簡単にアクセスし、それらを処理できます。

手順

まず、HTMLフォームの作成から始めます。フォームのアクションは、フォームデータが送信される先を示すため重要です。

簡単なフォームを作成するには、次のものを追加します:

Webフォームを作成します:GETリクエストを簡単に理解する

フォームのアクションには、データが送信されるパスが含まれています。この例では/submitformになります。ここで後でExpressサーバー内のGETハンドラーが定義されます。入力には単純なテキストフィールドを使用します:

Webフォームを作成してください:GETリクエストを簡単に理解します

フォームが設定されたら、データを受信するためのサーバーが準備できていることを確認する必要があります。Expressサーバーでリクエストを処理するためにGETメソッドを構成していることを確認してください。

次に、すべてが機能していることを確認するためにページを再読み込みします。テキストフィールドに何か入力して、送信ボタンがなくてもReturnキーを押してフォームを送信できるかどうかを確認できます。

Webフォームを作成する:GETリクエストを容易に理解する

フォームを送信した後、データが正常に送信されたことを確認するためにサーバーからの応答があるはずです。

Webフォームを作成する:GETリクエストの理解を簡単にする

サーバーに送信されたペイロードをここで確認できます。この例では、名前パラメータがURLに追加されました。

サーバーコードでは、リクエストのqueryにアクセスしてクエリパラメータを取得します。GETハンドラを定義することができます。

Webフォームを作成してください:GETリクエストの理解を簡単にします

フォームを再度送信すると、パラメータが正常に返されることがわかります。サーバーで変更を加えるたびに、サーバーを再起動する必要があることに注意してください。

ウェブフォームを作成してください: GETリクエストを簡単に理解します

名前にアクセスするには、request.query.Nameの形式を使用します。フォームで名前を変更する場合は、サーバーコードでパラメータを変更する必要があることに注意してください。

ウェブフォームを作成してください: GETリクエストを簡単に理解

フォームで名前をfirst_nameに変更する場合、求められるパラメータは次のようになります:

Webフォームを作成してください。GETリクエストを簡単に理解する

サーバーがデータを正しく受信し、出力していることがわかります:

Webフォームを作成してください: GETリクエストを簡単に理解する

この基本的な知識を使用して、受信したデータを処理したり、データベースに保存したり、他の場所で使用したり、単に返送したりできます。

必要に応じて、受信したデータをクライアントに返送してエコーサーバーとして機能させることもできます。

Webフォームを作成する:GETリクエストを簡単に理解

出力は次のようになります:

Webフォームを作成してください: GETリクエストを簡単に理解する

テキストフィールドに特殊文字を入力した場合、サーバーはそれらを処理し、適切にデコードします。ユーザーが入力した文字に関係なく、出力は正しく行われることに気付くでしょう。

Webフォームを作成してください: GETリクエストを簡単に理解します。

異なるサーバーフレームワークはエンコーディングを異なる方法で処理します。Expressを使用する場合、通常はクエリパラメータのデコードが含まれているため、それについて心配する必要はありません。

Webフォームを作成してください。GETリクエストの理解を簡単にします。

これでGETリクエストの処理の基本を理解しました。Expressフレームワークでのクエリパラメータの使用についても説明しました。次に、異なる実装が必要なPOSTメソッドに取り組みます。

要約

このチュートリアルでは、GETメソッドを使用して簡単なWebフォームアプリケーションを作成する方法を学びました。このプロセスには、HTMLフォームの設定、フォームデータのExpressサーバーへの送信、およびクエリパラメータの取得が含まれます。また、フォームデータを受信および対応するためのサーバーの正しい設定方法も見てきました。

よくある質問

GETとPOSTの違いは何ですか?GETはデータをURL経由で送信し、POSTはリクエスト本文にデータを転送します。

フォーム内で複数のパラメータを使用する方法は?フォームに複数の入力フィールドを追加し、名前を適切に構成してください。

フォームデータ内の特殊文字をどう扱えばいいですか?Expressは特殊文字のデコードを自動的に処理します。

サーバーを変更するたびに再起動する必要がありますか?はい、サーバーコードのすべての変更には、効果を発揮するためにサーバーを再起動する必要があります。