expressを試してみた POST処理&パーシャルでテーブル表示
今回は、POST処理と、パーシャルによるテーブルを作成し、表示する処理の二つを行う。
Body Parserのインストール
まずは、フォーム処理を扱うためのモジュール、Body Parserをインストールする。今まで通り、npmコマンドでインストールした。
次に、main.ejs(前回記事で作成したもの)のbox2-2を書き換えた。formタグを用意し、二つのinput(それぞれテキスト、送信ボタン)を用意した。これをmainファイル内で行う。
次は、jsファイルを編集する。まずは、先頭部分に以下のコードを追加した。
そして、新たにpostを追加。書き方自体はget処理と大差はない。また、フォームで送信した内容を読み取るには、
- req.body.<name>
とする。<name>には、それぞれのinputタグに追加されたname(main.ejsファイルのtextではmessage)を追加した。
この状態で起動すると、以下のようなテキストボックスと送信ボタンができた。
早速テキストに文字を入力し、送信ボタンを押すと以下のように、テキストに書かれた内容が上に表示された。
パーシャルでテーブルを表示
次は、パーシャルによるテーブル表示を行う。まずは、data_item.ejsというファイルを追加する。これがテーブルのベースとなる。
次に、main.ejsのbox2-2を以下のように書き換えた。forでdataをすべて表示するまで繰り返し、data_item内に読み込まれたkeyとvalのデータをはめていっている。
次に、jsファイルを編集する。まずは、dataという変数を用意し、テーブルのデータを一つずつ作成する。今回は、五人のデータを用意した。最後に、get処理部分にdataを追加した。
この状態で実行すると、以下のような表示がされた。ちょうど五人分のデータがすべて出力されたことを確認できた。
このようにして、POST処理と、パーシャルでのテーブル表示を行った。