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 ウェブエンコーディング

推薦する

フラッシュコンテンツの表示に使用される OBJECT タグと EMBED タグの違いの紹介

1. はじめに:ウェブページにフラッシュ コンテンツを正常に表示したい場合は、ページ上のフラッシュ ...

小さなページングデザイン

ユーザーが目的のものを探すために前進するか後退するかを選択できるようにします。たとえば、Taobao...

https ウェブサイトを展開し、Nginx でアドレス書き換えを構成するための詳細な手順

Nginx は、高性能な Web サイト サーバーおよびリバース プロキシ サーバーであり、IMAP...

Vue でログインと登録テンプレートを実装するためのサンプルコード

テンプレート 1: ログイン.vue <テンプレート> <p class=&quo...

Vue2/vue3 ルーティング権限管理方法の例

1. Vueルーティングの権限制御には一般的に2つの方法がありますa. ルーティングメタ情報(メタ)...

MySQL 8.0.12 winx64 詳細なインストールチュートリアル

この記事では、MySQL 8.0.12のインストールチュートリアルを参考までに紹介します。具体的な内...

CSSの一般的なプロパティ

CSS の背景: background:#00ffee; //背景色を設定するbackground-...

JavaScript を使用して QR コードを解析する 3 つの方法

目次1. JavaScriptを使用してQRコードを解析する1. QR コードとは何ですか? 2.q...

Win10 64 ビットで圧縮パッケージを使用して最新の MySQL 8.0.18 をインストールするチュートリアル (画像とテキスト付き)

WIN10 64ビットに最新のMySQL8.0.18をインストールダウンロード公式サイトから最新バ...

ウェブ音楽プレーヤーを実現する js

この記事では、参考までに簡単なHTMLと音楽プレーヤーの制作コードを紹介します。具体的な内容は以下の...

表の最初の行と最初の列を固定し、適応型ウィンドウを実現するための CSS の例コード

今日のキャンパス採用筆記試験では、固定された最初の行と最初の列を実装し、幅をウィンドウの変更に適応さ...

Centos6.5 の rpm パッケージから mysql5.7 をインストールするときに発生する初期化エラーの解決策

1. rzをサーバーにアップロードして解凍する rz [root@mini2 アップロード]# ta...

MySQL インデックスの原理と使用例の分析

この記事では、例を使用して MySQL インデックスの原理と使用方法を説明します。ご参考までに、詳細...

SQL 最適化チュートリアル: IN クエリと RANGE クエリ

序文「High Performance MySQL」では、インデックスでは範囲フィールドの後の部分が...

MySQL マルチバージョン同時実行制御 MVCC の基本原理の分析

目次1 トランザクションの同時実行で発生する問題1.1 ダーティリード1.2 繰り返し不可能な読み取...