Web・インターネットの用語一覧へ
このページの目次

Fetch APIとは?

最終更新:2026/08/18

3秒でわかる

ブラウザに標準で入っているHTTP通信の関数Promiseを返すので、非同期の取得処理を await で直線的に書けるのが利点です。

もう少し詳しく

どういうものか

Fetch API は、ブラウザからHTTPリクエストを送るための標準機能です。fetch(url) を呼ぶと Promise が返り、解決するとレスポンスを表すオブジェクトが得られます。本文はまだ読み込まれておらず、json()text() を呼んだ時点で読み出されます。二段構えになっているのは、巨大な本文をすべて読む前にステータスやヘッダーを判断できるようにするためです。Node.js でも18以降は同じ関数が使えます。

なぜ必要か

画面を再読み込みせずにデータを差し替えるには、JavaScriptから通信する手段が要ります。以前は XMLHttpRequest を使い、コールバックを積み重ねる書き方が必要でした。Fetch は Promise を返すため await で直線的に書け、エラー処理も try にまとめられます。外部ライブラリを入れずに済む点も利点です。中断や時間切れの指定も標準の仕組みで書けるため、実装が環境をまたいで通用します。

具体例

async function loadUser(id) { const res = await fetch(`/api/users/${id}`, { headers: { Accept: "application/json" }, }); if (!res.ok) { throw new Error(`失敗しました status=${res.status}`); } return res.json(); } // 送る側 await fetch("/api/orders", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ itemId: 3, qty: 2 }), });

つまずきやすいところ

404 や 500 が返っても Promise は拒否されません。通信自体は成功しているからです。res.ok を必ず確認しないと、エラーページのHTMLを JSON として読もうとして別のエラーになり、原因の切り分けが遠回りになります。次に多いのがCORSで、これはブラウザ側の制限なのでサーバーの応答ヘッダーを直さないと解決しません。またJSONを送るときにヘッダーを付け忘れると、サーバー側で本文が空に見えます。

似た用語との違い

手段特徴
Fetch API標準機能でPromiseを返す
XMLHttpRequest古い方式でコールバック中心
axios外部ライブラリでエラー時に自動で例外を投げる


覚え方

返ってきた時点では、まだ届いたという事実しか分かりません。中身を読むのも、成功か失敗かを決めるのも、こちら側の仕事です。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地Fetch APIWeb

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

このコースが入っている学習分野

この用語を扱うコース

コース

モダンJavaScript:データ処理とコード設計

36レッスン
コース

TypeScriptでReactとAPIを扱う

23レッスン
コース

JavaScript道場 ハレノヒ珈琲を動かす10問

10レッスン
JavaScriptコースの全編を見る