Node.js での AJAX 呼び出し
Representational State Transfer
をREST
と呼びます。 REST
アーキテクチャ スタイルの制限と制約に準拠し、RESTful Web サービスとの対話を可能にする API または Web API (アプリケーション プログラミング インターフェース) は、REST
API またはRESTful
API として知られています。
本日の投稿では、Node.js を使用してサードパーティ パッケージを使用してリクエストを行う方法を学びます。
Node.js での AJAX 呼び出し
node-fetch
は、Node.js で fetch()
関数を使用できるようにする軽量のパッケージ/モジュールです。 その機能は、Vanilla JavaScript の window.fetch()
に非常に似ています。
node-fetch
は無料のサードパーティ パッケージであり、ブラウザおよび Node.js 用の Promise ベースの HTTP クライアントです。 NPM
で入手できます。
node-fetch
を使用して、非同期 HTTP リクエストを REST
エンドポイントに送信できます。 node-fetch
を使用すると、CRUD 操作を簡単に実行できます。
これは Vanilla JavaScript で、または Node.js や React などのライブラリで使用できます。 node-fetch
の詳細については こちら を参照してください。
HTTP GET
メソッドは、サーバーからリソースを取得します。 たとえば、ブラウザは、サーバーから TODO
データ リストをフェッチするとき、または特定の TODO
リクエストの情報をフェッチするときに、HTTP GET
リクエスト メソッドを使用します。
GET
および HEAD
リクエストは、サーバーの状態を変更しません。
GET
API はべき等です。つまり、POST
やPUT
などの別の API がサーバーに対して行われ、サーバー上のリソースの状態が変更されるまで、複数の同一のリクエストを行うと、毎回同じ結果が生成されます。
次のコマンド $ npm i node-fetch
を使用して node-fetch
ライブラリをインストールします。
GET
リクエストは get
メソッドで作成されます。
const fetch = require('node-fetch');
async function getTodoData() {
const payload = {title: 'Hello World', body: 'Welcome to Node tutorial'};
const response = await fetch('https://jsonplaceholder.typicode.com/posts', {
method: 'post',
body: JSON.stringify(payload),
headers: {'Content-Type': 'application/json'}
});
const data = await response.json();
console.log(data);
}
getTodoData();
上記の例では、ユーザーがファイルを実行すると、fetch
モジュールを使用して、指定された URL (この投稿ではダミー) を使用して、GET
呼び出しがノード サーバーに送信されます。 サーバーがこのデータを中断することなく処理すると、成功メッセージが返されます。
サーバー応答の出力に基づいて、コンソールにメッセージを出力するか、適切なメッセージでユーザーに通知できます。
Node.js をサポートする replit
で上記のコード スニペットを実行してみてください。 下に結果が表示されます。
{ title: 'Hello World', body: 'Welcome to Node tutorial', id: 101 }
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn