NodeSchoolに入学しよう!

クエリ文字列の使用

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
クエリ文字列としてURLに付加されたパラメータをアプリケーションから利用する方法について学びます。また、サーバーからのレスポンスとしてJSONを送信する方法についても説明します。
講師:
04:17

字幕

このレッスンでは、Express.jsで、 クエリ文字列を 取り扱う方法について、 説明します。 それではまず ワークショッパーを起動しましょう。 expressworks、エンター。 今回はこちらのWHAT'S IN QUERY、 という問題を解きます。 エンターを押します。 問題。 /searchへのGETリクエストに 応答するExpress.jsサーバーを 作成してください。 そして、レスポンスとして、 クエリ文字列の内容をJSONで 返してください。 ただし、アプリのポート番号は、 1番目のコマンドライン引数で 与えられるものとします。 Expressでクエリ文字列を取り扱うのは 非常に簡単です。 クエリ文字列というのは、 こちらの問題の例でいうと、 ここの部分ですね。 URLの末尾に?マークが付加されて、 そのあとに何々=何々&何々=何々 というような文字列が続く場合が あると思うんですが、 これをクエリ文字列といいます。 クエリ文字列は、キーとバリューの組が 複数並べられた形式になっています。 この何々=、の前の部分がキーで、 =の後の部分がバリュー、値ですね。 Express.jsでは、このようなクエリ文字列が URLに含まれていた場合には、 requestオブジェクトのqueryという プロパティで それを使うことができるようになっています。 queryというプロパティの、例えば、 こちらのURLの例でしたら、 resultsというキーに、 recentという値が 入ってくることになります。 ですから、requestのqueryの、 ドットのresultsという変数を使えば その中にはrecentという文字列が 入っています。 またクエリのドットのinclude_tabs というキーを使えば、 その中にはtrueの値が入っています。 また今回レスポンスはJSONで返しますが、 Expresでは、 例えばレスポンスオブジェクトに対して、 end(JSON.stringify('xxxx'))、 こういうやり方を使って、オブジェクトを 文字列として送信してやってもいいのですが、 もう少し簡単なやり方として、 sendのここに、何かしらオブジェクトを 渡してやれば、 それを勝手にJSON.stringifyで 文字列にして送信してくれます。 こっちを使ったほうが少し楽ですね。 それではここでいったんビデオを止めて、 皆さんで問題を解いてみてください。 さて、問題は解けましたでしょうか。 答え合わせをしていきたいと思います。 私の方で正解のプログラムを 書いてみます。 program.jsというファイルに 正解のコードを書いていきます。 まずはexpress.jsモジュールのロード。 そしてアプリケーションインスタンスの 作成ですね。 それからgetメソッドの設定。 今回のパスは/searchでした。 requestハンドラは、requestオブジェクトと responseオブジェクトを取ります。 そしてこの中で、クエリ文字列は このrequestの queryというプロパティの中に 入っていますね。 今回はquery文字列をそのまま JSONとして返せ、ということだったので、 responseのsendで、 これをそのまま返してやるだけです。 あとはアプリケーションサーバーの 起動ですね。 ポート番号はコマンドライン引数で 与えられます。 processのargv、 これでOKです。 では、検証してみましょう。 expressworksの verprogram.js 通りました。 このように、Node.jsではクエリ文字列を 扱うのが非常に簡単です。 このレッスンでは、Express.jsで、 クエリ文字列の値を 取り扱う方法について 説明しました。

NodeSchoolに入学しよう!

NodeSchoolワークショッパーとは、オープンソースで開発されているNode.jsやJava Scriptについて学ぶためのクイズ形式のアプリケーションです。このコースでは、learnyounodeとexpressworksという2つのワークショッパーを通じてNode.jsとExpress.jsの基本的な使い方を学びます。

3時間13分 (24 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
Node.js Node.js 0.10.24
価格: 3,990
発売日:2015年04月07日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。