Node.js は、異なるリクエストパスに応じて異なるデータを返します。

Node.js は、異なるリクエストパスに応じて異なるデータを返します。

1. 異なるリクエストパスに応じて異なるデータを返す方法を学びます。

var url=req.url // req.url の値を取得します (req: は request の略語です)
req.url : ポート番号の後のパスを取得して、異なるパスを実現し、異なるデータを返します。

ポート番号: 3000、URL: http://127.0.0.1:3000

if(url==='/'){

res.end('index page') //入力URLがhttp://127.0.0.1:3000/の場合
//括弧内のデータに応答し、表示のためにデータをサーバーに送信します
}

if(url==='/ログイン')
{

res.end('ログイン ページ') //入力 URL が http://127.0.0.1:3000/login の場合
//括弧内のデータに応答し、表示のためにデータをサーバーに送信します
}

ここに画像の説明を挿入

var http = require("http"); // http モジュール http.createServer(function(req, res) {
//res.write('hello')
//res.write('world!')
 // res.end('インデックスページ');

var url=req.url //req.urlの値を取得 if(url==='/'){

res.end('index page') //コンテンツ終了}else if(url==='/login')
{

res.end('ログインページ')


}それ以外{

  終了('404')
}

コンソールにログ出力します。

}).listen(3000); // ポート3000をリッスンする
 
console.log("HTTP サーバーはポート 3000 でリッスンしています。URL は http://127.0.0.1:3000 です");

結果:

ここに画像の説明を挿入

ここに画像の説明を挿入

2. 送信データ: データ型とエンコード: Content-Type

res.setHeader('Content-Type','text/plain; charset=utf-8')
res.setHeader('Content-Type','text/html; charset=utf-8')

text/plain: プレーンテキスト: コンテンツが HTML タグの場合は、text/html に変更する必要があります。
res.end(“helloworld”); text/plain を使用する

res.end('<p>Who am I<a>Click</a></p>') //ブラウザに認識されるようにtext/htmlを使用する

charset=utf-8 : コンテンツはutf-8でエンコードされています

ここに画像の説明を挿入

3. ファイルの読み取りについて: 相対パスと絶対パス:

この相対パスは、実際にはノード コマンドが実行されるパスを基準としています。

var fs=require(“fs”) //fsには多くのAPI関数があり、fsオブジェクトを取得します
fs.readFile()// ノードコマンドを実行するファイル d:\node1.js を読み取ります
ファイル 07.html はディレクトリ d:node1.js にあります。
つまり、fs.readFile('./07.html', funtion(){ })
ファイルを読み取り、その内容をデータに渡すことができます
また
res.end(data)
HTMLコンテンツをres.red()に記述し、Webページを開いてs.endを確認します。

ここに画像の説明を挿入

ここに画像の説明を挿入

var http = require("http"); // http モジュール var fs = require("fs")
   //var url=req.url;
http.createServer(function(req, res) {


//res.write('hello')
//res.write('world!')
 // res.end('インデックスページ');
 fs.readFile('./07.html',function(err,data) {
    
もしエラーが起きたら

res.setHeader('Content-Type','text/plain; charset=utf-8')

     res.end('wss')

}
それ以外{

res.setHeader('Content-Type','text/html; charset=utf-8')
res.end(データ)

}

 })


}).listen(3000);
console.log("サービス")

結果:

ここに画像の説明を挿入

4. 絵を読む

fs.readFile('./07.jpg',function(err,data)
res.setHeader('Content-Type','image/jpeg; charset=utf-8')
res.end(data)
//メインコード

これで、異なるリクエスト パスに応じて異なるデータを返す node.js の詳細なプロセスに関するこの記事は終了です。より関連性の高い node.js リクエスト パスとデータ コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Node.jsのパス処理方法と絶対パスの詳しい説明
  • Node.jsのパス処理モジュールpathの詳しい説明
  • Node.jsクローラーを使用してウェブサイトのデータをクロールする方法を教えます
  • Node.js による Douban データのクロールの分析例

<<:  DockerでLNMPアーキテクチャを展開する方法

>>:  UTF-8 および GB2312 ウェブエンコーディング

推薦する

Linuxの運用と保守の基本プロセス管理と環境構成分析

目次1. プロセスの基本的な概要2. プロセスの構成要素3. プロセス環境4. プロセスステータス5...

Centos7.3 で mysql5.7.18 をインストールして初期パスワードを変更する方法

この記事では、Centos7.3でのmysql5.7.18のインストールと初期パスワードの変更につい...

MySQL DML言語操作例

追加説明、外部キー: 外部キーを使用しないでください。すべての外部キーの概念はアプリケーション層で解...

CentOS 7にChromeブラウザをインストールする方法

この記事では、CentOS 7 に Chrome ブラウザをインストールする方法を紹介します。詳細は...

WeChat アプレット ピッカー マルチ列セレクター (モード = multiSelector)

目次1. 効果図(複数列) 2. 通常セレクター: mode = selector、複数列セレクター...

docker+devpi を使用してローカル pypi ソースをビルドする方法

以前、開発で頻繁に pip ダウンロードを使用する必要がありました。pip ソースを国産ソースに変更...

Iframe の内外のページで JS がどのように動作するかの概要

目次iframeの外側のiframeのコンテンツを取得する方法1方法2 iframe 内の ifra...

Docker が MySQL を作成する説明

1. MySQLイメージをダウンロードするコマンド: docker pull mysql 2. コン...

Nodeイベントループの包括的な理解

目次ノードイベントループイベントループ図メインスレッドイベントループタイマーキューの仕組み投票キュー...

Windows Server win2003、win2008R2、win2012、win2016、win2019 システム バージョン間の違い

最近、Microsoft は 2019 サーバー システムをリリースしました。一般的に、Micros...

フロントエンドJSサンドボックスを実装するいくつかの方法についての簡単な説明

目次序文iframeはサンドボックスを実装しますdiffメソッドを使用したサンドボックスの実装プロキ...

MySQL クエリ データベース容量方法手順

すべてのデータベースの合計サイズを照会する方法は次のとおりです。 mysql> informa...

Dockerコンテナのデータボリュームの詳細な説明

何ですかまず、Docker の概念を見てみましょう。アプリケーションと実行環境をコンテナにパッケージ...

Ubuntu 20.04でAliソースを変更する方法

なお、この記事では、単に 20.04 ソースに変更する方法を説明するのではなく、20.04 に基づい...