コース: Node.jsとExpress.jsをマスターしよう

今すぐコースを受講しましょう

今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。

クエリ文字列の使用

クエリ文字列の使用

このレッスンでは、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で 文字列にして送信してくれます。…

目次