Node.js超入門 3章2項まで - プログラム動作確認
記事概要
前回、3章2項まで読み進めましたが、サンプルプログラムの実動作を一切していなかったため一通りの動作確認をしました。
確認したこと(抜粋)
ルーティング
クライアントが入力したURLの内容によって表示したいページ(ejsのテンプレート)を変えたい時、URLをパース処理してサーバ側でレスポンスの内容を変える必要があることを学びました。
次のページはただindex.ejsをレンダリングして表示してるだけですが、indexページヘのアクセスであることを識別した上で表示してます。
各ページごとの処理を関数化するなど自分なりに工夫もしてみました。
用意したいページの数だけテンプレートを作らないといけないなんて、正気なのかと思いましたが、割とそういうもんだとツイッターでリプライもらいました。このように関数化することを始めとして、色々ノウハウはあるようです。
クエリパラメータ と フォームの入力
クライアントからの入力を受け取る方法として、クエリパラメータと、フォームからの入力を学びました。
クエリパラメータは、URLのお尻に「?hoge=情報1&hoge2=情報2」のように書くことでサーバにデータを送る手法です。
ふと思いついた活用例としては、センサノードなどからサーバへのデータ送信です。センサの温度、湿度などの情報をクエリパラメータとしてサーバに送信することができれば、非常に簡単にセンサネットワークが作れそうです。というか過去にArduino 向けの3Gシールドを使って遊んだときに、そういうhttpライブラリが用意されてた記憶があります。
ただ、ユーザに提供するWEBアプリで、URLに文字を入力してもらうなんてありえないですよね。。
そこで、よくある入力フォームの活用が出てきました。以下は入力フォームに入力した様子。
Submitを押すと、次のように飛びます。
この章の勘所はPOST処理、GET処理の違いを学ぶところでした。
GETのアクセスは、動的な処理がなにもない、単純なWEBページへのアクセスで使われ、POSTのアクセスはフォームなどからユーザによって異なる情報を与えるときに使われるようです。
次に学ぶこと
前回の記事で「書籍の3章ー3項にある「超簡単メッセージボードを作ろう」を遊んでみます。 」と言いましたが、上のお遊びに時間がかかってできませんでした。サンプルを入力して動かすだけなので、メッセージボードは明日やってみようと思います。
本日はここまで