検索
ホームページウェブフロントエンドフロントエンドQ&Anodejsはポストリクエストパラメータを受け取ります

Node.js は、サーバー側の JavaScript 実行環境として、HTTP リクエストを処理するときに非常に一般的です。その中でも、投稿リクエストのパラメータを受け取るのは非常に基本的なことです。次に、Node.js を使用してポスト リクエスト パラメーターを受信して​​解析する方法を学びます。

1. Node.js の HTTP リクエスト

Node.js では、組み込みの http モジュールを使用して HTTP サーバーを作成できます。シンプルな HTTP サーバーを作成する簡単な例を次に示します。

const http = require('http');

const server = http.createServer((req, res) => {
  res.end('Hello World!');
});

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

このサーバーは、単純に Hello World! 文字列で応答します。 curl コマンドを使用してテストできます。

curl http://localhost:3000/

curl コマンドの実行後、サーバーが Hello World! 文字列で応答することがわかります。

2. HTTP リクエストでの POST リクエスト

HTTP リクエストでは、GET リクエストと POST リクエストの 2 つが最も一般的で基本的なリクエスト メソッドです。 HTTP GET リクエストの場合、そのパラメータは URL で渡されますが、POST リクエストの場合は、リクエストの本文でキーと値のペアのデータが送信されます。

もちろん、GET リクエストの本文にパラメーターを含めることもできますが、このメソッドは安全ではありません。 POST リクエストを使用すると、この状況を回避できます。

3. Node.js は POST リクエストを処理します

サーバーが POST リクエストを受信すると、リクエスト本文からパラメータを取得する必要があります。 Node.js を使用して POST リクエストを処理する最も一般的な方法は次のとおりです:

const http = require('http');

const server = http.createServer((req, res) => {
  if(req.method === 'POST') {
    let postData = '';

    req.on('data', chunk => {
      postData += chunk.toString();
    });

    req.on('end', () => {
      console.log('postData:', postData);
      res.end('Hello World!');
    })
  } else {
    res.end('Hello World!');
  }
});

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

ここでの主な考え方は、クライアントが POST リクエストを送信するときに、req をリッスンするということです。 data イベントと end イベント。data イベントでは、リクエストの本文を継続的に読み取り、データを文字列の形式で変数に保存します。 end イベントがトリガーされた後、受信したパラメーターを処理できます。

4. リクエスト パラメーターを解析する

POST リクエストのパラメーターを取得した後、パラメーターを解析する必要があります。一般に、POST リクエストのパラメーターはキーと値の形式で送信されます。これは、共通フォーム データで使用されるスタイルです。

Node.js では、querystring モジュールを使用してこれらのパラメーターを解析できます。以下に例を示します。

const http = require('http');
const querystring = require('querystring');

const server = http.createServer((req, res) => {
  if(req.method === 'POST') {
    let postData = '';

    req.on('data', chunk => {
      postData += chunk.toString();
    });

    req.on('end', () => {
      console.log('postData:', postData);
      const body = querystring.parse(postData);
      console.log('body:', body);
      res.end('Hello World!');
    })
  } else {
    res.end('Hello World!');
  }
});

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

上の例では、最初に Node.js の組み込み querystring モジュールを使用しました。 end イベントでは、受信した POST パラメータを querystring.parse() メソッドを使用して解析し、表示するためにコンソールに出力します。

5. Express を使用して POST リクエストを処理する

Node.js の組み込み http モジュールを使用して POST リクエストを処理することに加えて、人気のあるサーバー側フレームワーク Express を使用することもできます。 Express では、body-parser ミドルウェアを使用して、POST リクエストのパラメーターを処理できます。 Express と body-parser を使用した例を次に示します。

const express = require('express');
const bodyParser = require('body-parser');

const app = express();

// 将JSON请求体解析中间件,放在路由之前
app.use(bodyParser.json());

// 处理URL编码请求体的中间件
app.use(bodyParser.urlencoded({extended: false}));

app.post('/', (req, res) => {
  console.log('body:', req.body);
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

この例では、最初に Express フレームワークを使用し、中間ソフトウェアで body-parser を使用して、 POSTリクエストのパラメータを処理します。 post ルートでは、req.body を通じて POST リクエストのパラメーターを直接取得し、コンソールと応答に出力できます。

概要

Node.js で POST リクエストを処理するには、Node.js の組み込み http モジュールまたは人気のあるフレームワーク Express を使用し、パラメータの解析と処理を実装する必要があります。初心者の場合、一般的なフレームワークの使用を検討する前に、まず Node.js で http モジュールの使用方法を理解することが最善です。同時に、POST リクエストを処理するときは、送信されたパラメータが第三者によって取得されないようにセキュリティの問題も考慮する必要があります。

以上がnodejsはポストリクエストパラメータを受け取りますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
ReactとFrontend:インタラクティブエクスペリエンスの構築ReactとFrontend:インタラクティブエクスペリエンスの構築Apr 11, 2025 am 12:02 AM

Reactは、インタラクティブなフロントエンドエクスペリエンスを構築するための好ましいツールです。 1)Reactは、コンポーネント化と仮想DOMを通じてUIの開発を簡素化します。 2)コンポーネントは、関数コンポーネントとクラスコンポーネントに分割されます。関数コンポーネントはよりシンプルで、クラスコンポーネントはより多くのライフサイクル方法を提供します。 3)Reactの作業原則は、パフォーマンスを改善するために仮想DOMおよび調整アルゴリズムに依存しています。 4)国家管理は、usestateまたはthis.stateを使用し、ComponentDidmountなどのライフサイクルメソッドが特定のロジックに使用されます。 5)基本的な使用には、コンポーネントの作成と状態の管理が含まれ、高度な使用にはカスタムフックとパフォーマンスの最適化が含まれます。 6)一般的なエラーには、不適切なステータスの更新とパフォーマンスの問題が含まれます。

反応とフロントエンドスタック:ツールとテクノロジー反応とフロントエンドスタック:ツールとテクノロジーApr 10, 2025 am 09:34 AM

Reactは、コアコンポーネントと状態管理を備えたユーザーインターフェイスを構築するためのJavaScriptライブラリです。 1)コンポーネントと州の管理を通じてUIの開発を簡素化します。 2)作業原則には和解とレンダリングが含まれ、React.memoとusememoを通じて最適化を実装できます。 3)基本的な使用法は、コンポーネントを作成およびレンダリングすることであり、高度な使用法にはフックとコンテキストアピの使用が含まれます。 4)不適切なステータスの更新などの一般的なエラーでは、ReactDevtoolsを使用してデバッグできます。 5)パフォーマンスの最適化には、React.MEMO、仮想化リスト、コードスプリッティの使用が含まれ、コードを読みやすく保守可能に保つことがベストプラクティスです。

HTMLにおけるReactの役割:ユーザーエクスペリエンスの向上HTMLにおけるReactの役割:ユーザーエクスペリエンスの向上Apr 09, 2025 am 12:11 AM

ReactはJSXとHTMLを組み合わせてユーザーエクスペリエンスを向上させます。 1)JSXはHTMLを埋め込み、開発をより直感的にします。 2)仮想DOMメカニズムは、パフォーマンスを最適化し、DOM操作を削減します。 3)保守性を向上させるコンポーネントベースの管理UI。 4)国家管理とイベント処理は、インタラクティブ性を高めます。

反応コンポーネント:HTMLで再利用可能な要素を作成します反応コンポーネント:HTMLで再利用可能な要素を作成しますApr 08, 2025 pm 05:53 PM

Reactコンポーネントは、機能またはクラスによって定義され、UIロジックのカプセル化、およびプロップを介して入力データを受け入れることができます。 1)コンポーネントの定義:関数またはクラスを使用して、反応要素を返します。 2)レンダリングコンポーネント:Reactコールレンダリングメソッドまたは機能コンポーネントを実行します。 3)マルチプレックスコンポーネント:データをプロップに渡して、複雑なUIを構築します。コンポーネントのライフサイクルアプローチにより、ロジックをさまざまな段階で実行でき、開発効率とコードメンテナビリティが向上します。

厳密なモードの目的を反応します厳密なモードの目的を反応しますApr 02, 2025 pm 05:51 PM

React Strictモードは、追加のチェックと警告をアクティブにすることにより、Reactアプリケーションの潜在的な問題を強調する開発ツールです。これは、レガシーコード、安全でないライフサイクル、および副作用を特定するのに役立ち、現代の反応の実践を促進します。

断片の使用法を使用します断片の使用法を使用しますApr 02, 2025 pm 05:50 PM

反応フラグメントにより、余分なDOMノードなしで子供をグループ化すること、構造、パフォーマンス、アクセシビリティが向上します。それらは、効率的なリストレンダリングの鍵をサポートしています。

反応調整プロセス反応調整プロセスApr 02, 2025 pm 05:49 PM

この記事では、Reactの和解プロセスについて説明し、DOMを効率的に更新する方法について詳しく説明しています。重要な手順には、調整のトリガー、仮想DOMの作成、拡散アルゴリズムの使用、最小限のDOM更新の適用が含まれます。また、Perfoをカバーしています

仮想DOMが説明しました仮想DOMが説明しましたApr 02, 2025 pm 05:49 PM

この記事では、直接的なDOM操作を最小限に抑え、更新を最適化することでパフォーマンスを向上させるWeb開発の重要な概念である仮想DOMについて説明します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境