Nodejsデータをフロントエンドに転送する方法
Node.js の人気に伴い、このテクノロジを使用して Web アプリケーションを作成する開発者が増えています。バックエンド テクノロジとして、Node.js はさまざまな方法でデータをフロントエンド ページに送信できます。 Node.js データをフロントエンドに転送するためのテクニックをいくつか紹介します。
- RESTful API
RESTful API は、現在最も人気のある Web サービス アーキテクチャの 1 つです。 Node.js は、Express.js や Hapi などのフレームワークを使用して RESTful API を開発できます。 RESTful API は HTTP プロトコルに基づいており、GET、POST、PUT、または DELETE メソッドを通じてクライアントにデータを送信できます。フロントエンドは AJAX を通じてこれらの API をリクエストし、サーバーはフロントエンドで使用できるように JSON (JavaScript Object Notation) 形式でデータを返します。
以下は簡単な例です:
まず、Express.js フレームワークを使用してサーバー側のコードを作成する必要があります:
const express = require('express'); const app = express(); app.get('/api/users', (req, res) => { const users = [ { name: 'Alice', age: 25 }, { name: 'Bob', age: 30 }, { name: 'Chris', age: 35 }, ]; res.json(users); }); app.listen(3000, () => { console.log('Server started on port 3000'); });
ここでは Express を使用します。 js フレームワーク RESTful API を作成します。クライアントが /api/users
をリクエストすると、サーバーはユーザー情報を含む JSON データを返します。
AJAX 呼び出しに jQuery を使用する:
$.ajax({ url: '/api/users', type: 'GET', success: function(data) { console.log(data); }, error: function(xhr, textStatus, error) { console.log(xhr.statusText); } });
- WebSockets
WebSocket は、ブラウザとサーバー間の通信を可能にするリアルタイム通信プロトコルです。双方向コミュニケーション。 Node.js は、socket.io ライブラリを使用して WebSocket 機能を実装できます。 WebSocket を使用すると、サーバーはリアルタイム データをクライアントにプッシュできます。これは、ショート ポーリングおよびロング ポーリング (ポーリング) メソッドよりも効率的です。
以下は簡単な例です:
まず、socket.io ライブラリを使用してサーバー コードを作成する必要があります:
const app = require('http').createServer(handler); const io = require('socket.io')(app); const fs = require('fs'); app.listen(3000, () => { console.log('Server started on port 3000'); }); function handler(req, res) { fs.readFile(__dirname + '/index.html', function(err, data) { if (err) { res.writeHead(500); return res.end('Error loading index.html'); } res.writeHead(200); res.end(data); }); } io.on('connection', function(socket) { setInterval(() => { const number = Math.floor(Math.random() * 10); socket.emit('number', number); }, 1000); });
ここでは、socket.io を使用します。 WebSocket サーバーを作成するためのライブラリ。クライアントがサーバーに接続すると、サーバーは 1 秒間隔でタイマーを開始し、乱数をクライアントに送信します。
クライアント コード (index.html):
<!doctype html> <html> <head> <title>WebSockets Example</title> </head> <body> <div id="container"></div> <script src="https://cdn.socket.io/socket.io-1.4.5.js"></script> <script> var socket = io.connect('http://localhost:3000'); socket.on('number', (data) => { document.getElementById('container').innerHTML = 'Random number: ' + data; }); </script> </body> </html>
ここでは、socket.io ライブラリを使用してサーバーとの WebSocket 接続を確立し、「number」イベント リスナーを登録します。サーバーが数値を渡すと、クライアントはその数値を表示します。
- サーバー送信イベント
サーバー送信イベント (SSE) は、イベントのストリームをクライアントにプッシュするテクノロジーです。 SSE を使用すると、クライアントがサーバーにリクエストを行うことなく、サーバーがクライアントにリアルタイムでデータを送信できます。 Node.js は EventSource ライブラリを使用して、サーバー プッシュ イベント ストリーミングをサポートできます。
以下は簡単な例です:
サーバー コード:
const http = require('http'); http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache', 'Connection': 'keep-alive', }); setInterval(() => { const data = { time: new Date().toTimeString() }; res.write(`event: time `); res.write(`data: ${JSON.stringify(data)} `); }, 1000); }).listen(3000); console.log('Server started on port 3000');
ここでは、Node.js の HTTP モジュールを使用して SSE サーバーを作成します。クライアントがサーバーに接続すると、サーバーはイベント ストリームを送信し、現在時刻を含むメッセージを 1 秒ごとに送信します。
クライアント コード:
<!doctype html> <html> <head> <title>Server-Sent Events Example</title> </head> <body> <div id="container"></div> <script> const eventSource = new EventSource('http://localhost:3000'); eventSource.addEventListener('time', (event) => { const data = JSON.parse(event.data); document.getElementById('container').innerHTML = data.time; }); </script> </body> </html>
ここでは、JavaScript の EventSource オブジェクトを使用して、サーバーによってプッシュされたイベント ストリームをリッスンします。イベント ストリームに「時刻」イベントがある場合、クライアントは現在の時刻を表示します。
結論
上記の技術を利用することで、Node.jsのデータをフロントエンドページに簡単に転送することができます。 RESTful API、WebSocket、および Server-Sent Events は、この目標を達成するための優れた方法です。
以上がNodejsデータをフロントエンドに転送する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









この記事では、functionコンポーネントでのデータフェッチやDOM操作などの副作用を管理するためのフックであるReactの使用Effectについて説明します。メモリリークなどの問題を防ぐための使用、一般的な副作用、およびクリーンアップについて説明します。

この記事では、Virtual DOMツリーを比較してDOMを効率的に更新するReactの調整アルゴリズムについて説明します。パフォーマンスの利点、最適化技術、ユーザーエクスペリエンスへの影響について説明します。

JavaScriptの高次関数は、抽象化、共通パターン、および最適化技術を通じて、コードの簡潔さ、再利用性、モジュール性、およびパフォーマンスを強化します。

この記事では、JavaScriptのカレーについて説明します。これは、マルチアーグメント関数を単一argument関数シーケンスに変換する手法です。 Curryingの実装、部分的なアプリケーションなどの利点、実用的な用途、コード読み取りの強化を調査します

記事では、Connect()、MapStateToprops、MapDispatchToprops、およびパフォーマンスへの影響を説明するReduxストアに反応コンポーネントをReduxストアに接続します。

この記事では、ReactのUseContextを説明しています。これにより、小道具掘削を避けることで国家管理を簡素化します。再レンダーの削減により、集中状態やパフォーマンスの改善などの利点について説明します。

記事では、PreventDefault()メソッドを使用して、イベントハンドラーのデフォルト動作の防止、ユーザーエクスペリエンスの強化などの利点、およびアクセシビリティの懸念などの潜在的な問題について説明します。

この記事では、予測可能性、パフォーマンス、ユースケースなどの側面に焦点を当てた、Reactの制御されていないコンポーネントと制御されていないコンポーネントの利点と欠点について説明します。それらを選択する際に考慮することを要因についてアドバイスします。
