ホームページ > ウェブフロントエンド > フロントエンドQ&A > Nodejs がフロントエンドと対話する方法

Nodejs がフロントエンドと対話する方法

下次还敢
リリース: 2024-04-21 06:12:45
オリジナル
1042 人が閲覧しました

Node.js は、HTTP リクエスト/レスポンス、WebSocket、および Socket.IO を介してフロントエンドと対話します。Node.js サーバーをセットアップし、ルートを定義します。フロントエンドは、WebSocket または Socket.IO を使用して HTTP リクエストを送信するか、接続を確立します。 Node.js サーバーはリクエストを処理し、ライブ接続を介してレスポンスを返すか、データを送信します。

Nodejs がフロントエンドと対話する方法

Node.js フロントエンドとの対話

Node.js はサーバーサイドを構築するためのメソッドですアプリケーションの JavaScript ランタイム環境。 HTML、CSS、JavaScript などのフロントエンド テクノロジと対話して、動的で対話型の Web アプリケーションを提供できます。

#対話メソッド

Node.js とフロントエンド間の対話は、次の方法で実行できます。

  • HTTP リクエスト/レスポンス: Node.js サーバーは、ブラウザまたは他のクライアントからの HTTP リクエストを処理し、HTML、JSON、またはその他の種類のレスポンスを返すことができます。
  • WebSocket: WebSocket は、Node.js サーバーがフロントエンドとの永続的な接続を確立してデータをリアルタイムに転送できるようにする双方向のリアルタイム通信プロトコルです。
  • Socket.IO: Socket.IO は、Node.js とフロントエンド間のリアルタイム通信を簡素化する WebSocket ライブラリです。また、イベント処理やメッセージ名前空間などの高度な機能も提供します。

#実装手順

1. サーバーを作成します:

const express = require('express');
const app = express();
const server = app.listen(3000);
ログイン後にコピー

2. ルートを定義します:

app.get('/', (req, res) => {
  res.send('Hello from Node.js!');
});
ログイン後にコピー

3. フロントエンド リクエストの処理:

app.post('/submit-form', (req, res) => {
  const data = req.body;
  // 处理表单数据...
});
ログイン後にコピー

4. WebSocket の使用:

const WebSocket = require('ws');
const wss = new WebSocket.Server({ server });

wss.on('connection', (ws) => {
  // 与客户端建立 WebSocket 连接...
});
ログイン後にコピー

5 . Socket.IO の使用:

const socketIO = require('socket.io');
const io = socketIO(server);

io.on('connection', (socket) => {
  // 与客户端建立 Socket.IO 连接...
});
ログイン後にコピー

フロントエンド コード例:

// 发送 HTTP 请求
fetch('/submit-form', {
  method: 'POST',
  body: JSON.stringify({ name: 'John' }),
})
  .then((res) => res.json())
  .then((data) => console.log(data));

// 建立 WebSocket 连接
const socket = new WebSocket('ws://localhost:3000');
socket.onopen = () => console.log('Connected to WebSocket');

// 使用 Socket.IO
const socket = io();
socket.on('connect', () => console.log('Connected to Socket.IO'));
ログイン後にコピー

以上がNodejs がフロントエンドと対話する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート