[解決済み】Express関数のパラメータ "res "と "req "とは?
2022-04-22 14:12:17
質問
次のExpress関数で。
app.get('/user/:id', function(req, res){
res.send('user' + req.params.id);
});
は何ですか?
req
と
res
? これらは何を表し、何を意味し、何をするのか?
ありがとうございます。
解決方法は?
req
は、イベントを発生させた HTTP リクエストの情報を含むオブジェクトです。 への応答として
req
を使用します。
res
を使用して、希望するHTTPレスポンスを返送します。
これらのパラメータにはどんな名前でもつけることができます。 より分かりやすいように、このコードを変更することもできます。
app.get('/user/:id', function(request, response){
response.send('user ' + request.params.id);
});
編集する
こんなメソッドがあったとします。
app.get('/people.json', function(request, response) { });
リクエストは以下のようなプロパティを持つオブジェクトになります(ほんの一部です)。
-
request.url
となります。"/people.json"
この特定のアクションがトリガーされたとき -
request.method
となります。"GET"
というのは、この場合app.get()
を呼び出します。 -
のHTTPヘッダの配列。
request.headers
のような項目が含まれています。request.headers.accept
これによって、どのようなブラウザがリクエストを行ったのか、どのようなレスポンスを処理できるのか、HTTP圧縮を理解できるのか、などを判断することができます。 -
クエリ文字列のパラメータがあれば、その配列を
request.query
(例)/people.json?foo=bar
になります。request.query.foo
という文字列を含む"bar"
).
そのリクエストに応答するために、レスポンスオブジェクトを使用してレスポンスを構築します。 を展開するために
people.json
の例です。
app.get('/people.json', function(request, response) {
// We want to set the content-type header so that the browser understands
// the content of the response.
response.contentType('application/json');
// Normally, the data is fetched from a database, but we can cheat:
var people = [
{ name: 'Dave', location: 'Atlanta' },
{ name: 'Santa Claus', location: 'North Pole' },
{ name: 'Man in the Moon', location: 'The Moon' }
];
// Since the request is for a JSON representation of the people, we
// should JSON serialize them. The built-in JSON.stringify() function
// does that.
var peopleJSON = JSON.stringify(people);
// Now, we can use the response object's send method to push that string
// of people JSON back to the browser in response to this request:
response.send(peopleJSON);
});
関連
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] NPMパッケージの以前の正確なバージョンをインストールするにはどうすればよいですか?
-
[解決済み] エラーが発生しました。クライアントに送信された後にヘッダーを設定できない
-
[解決済み] Node.jsのConnect、Express、「ミドルウェア」って何?
-
[解決済み] Expressで"? "の後にあるGETパラメータにアクセスするにはどうすればよいですか?
-
[解決済み] Expressのパラメータ "next "は何に使うのですか?
-
[解決済み】Expressで完全なURLを取得する方法は?
-
[解決済み】NodeJS / Express: "app.use "とは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Nodejs: Errorを解決する方法。ENOENT: そのようなファイルまたはディレクトリがありません
-
[解決済み】「安全なTLS接続が確立される前にクライアントのネットワークソケットが切断されました」(ノード10
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】E11000重複キーエラー mongodb mongooseのインデックス
-
[解決済み] Node.jsで「btoaが定義されていない」エラーが発生する
-
[解決済み] ノードマータ予期せぬフィールド
-
[解決済み] バルク更新を行う。
-
[解決済み] Node.js上のExpress.jsでGET(クエリ文字列)変数を取得する方法とは?
-
[解決済み] POSTフォームのフィールドにアクセスする方法
-
[解決済み] Express アプリケーションで JSON POST データを消費する方法