現役システムエンジニアの備忘録

技術スキルや用語などの記録を残していきます

Ajax / fetch / API(非同期処理)

【JavaScript入門】fetch APIの基本|XHRとの違い・書き方・レスポンス処理を初心者向けに解説

投稿日:2026年5月19日 更新日:

この記事で分かること

  • fetch API の基本構文
  • XMLHttpRequest(XHR)との違い
  • GETPOST リクエストの書き方
  • レスポンスの扱い方(text / json
  • Promiseasync / await との組み合わせ

fetch API は、JavaScript で HTTP 通信を行うための現代的な標準APIで、XMLHttpRequest よりもシンプルで扱いやすいのが特徴です。
この記事では、fetch の基本構文から GETPOST の書き方、レスポンス処理、async / await との組み合わせまで、実務で役立つポイントを分かりやすく解説します。



fetch API とは?

fetch API は、JavaScript で HTTP 通信を行うための
現代的でシンプルな標準API です。

XMLHttpRequest(XHR)の後継として登場し、
Promise ベースで書けるためコードが読みやすくなります。

XHR と fetch の違い

項目 fetch XHR
書きやすさ シンプル・短い 冗長になりがち
非同期処理 Promise / async / await コールバック
レスポンス処理 text() / json() responseText
エラー処理 HTTPエラーは例外にならない onerror が必要

fetch は「現代の標準」、XHR は「レガシー」という位置づけです。



fetch の基本構文(GET


fetch("https://jsonplaceholder.typicode.com/posts/1")
  .then(response => response.json())
  .then(data => console.log(data));

fetchPromise を返すため、
then() を使ってレスポンスを処理します。

レスポンスの種類(text / json

text として取得


fetch("/hello.txt")
  .then(res => res.text())
  .then(text => console.log(text));

json として取得


fetch("/data.json")
  .then(res => res.json())
  .then(json => console.log(json));

API 連携では json() を使うことがほとんどです。

POST リクエストの書き方


fetch("https://jsonplaceholder.typicode.com/posts", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    title: "Hello",
    body: "fetch POST example",
    userId: 1
  })
})
  .then(res => res.json())
  .then(data => console.log(data));

XHR と違い、fetch はオプションをまとめて指定できるため
コードがスッキリします。

async / await を使うとさらに読みやすい


async function loadData() {
  const res = await fetch("https://jsonplaceholder.typicode.com/posts/1");
  const data = await res.json();
  console.log(data);
}

loadData();

async / await を使うと、
同期処理のように読みやすいコード になります。

fetch の注意点(重要)

  • HTTPエラー(404/500)は例外にならない
  • ネットワークエラーのみ catch に入る
  • レスポンスのチェックは自分で行う必要がある

例:ステータスチェック


const res = await fetch(url);

if (!res.ok) {
  throw new Error("HTTPエラー: " + res.status);
}

JavaScript 初心者におすすめの学習書籍

書籍で学ぶのが向いている人

  • fetch の基本構文を体系的に理解したい
  • GET / POST リクエストの書き方を基礎から学びたい
  • json()text() のレスポンス処理を正しく理解したい
  • async / await を使った読みやすいコードを書けるようになりたい

fetch API は、JavaScript の 現代的な HTTP 通信の標準です。
書籍では非同期処理の基礎や HTTP の仕組みを順序立てて学べるため、
Promiseasync / await と組み合わせた
実務的な書き方を深く理解できます。

いちばんやさしい JavaScript の教本

図解が多く、JavaScript の基本文法やブラウザの動作を視覚的に理解できる入門書です。
fetch のような現代的 API を扱うために必要な「非同期処理の基礎」や
「HTTP 通信の流れ」を丁寧に学べます。

この本で解決できること:

  • fetch の基本構文が理解できる
  • json() / text() の使い分けが分かる
  • GET / POST の実装を基礎から学べる

確かな力が身につく JavaScript「超」入門

実務で必要な HTTP 通信・非同期処理・エラー処理を深く理解したい方に最適な入門書です。
fetch と XHR の違いや、async / await を使った
読みやすいコードの書き方も身につきます。

この本で解決できること:

  • fetchGET / POST の実践的な書き方を習得できる
  • レスポンス処理(json())の流れが理解できる
  • Promiseasync / await の違いを踏まえた現代的な書き方が身につく

動画で理解を深めたい方へ(Udemy講座)

fetch のレスポンス処理や async / await の動作は、
実際の画面で確認しながら学ぶと理解が一気に深まります。
非同期処理の流れを視覚的に確認できるのが動画学習の強みです。

初心者のためのJavaScript 完全入門

JavaScript の基本文法から非同期処理まで体系的に学べる人気講座です。
fetch の動作や HTTP 通信の流れを理解するための基礎がしっかり身につきます。

この講座で解決できること:

  • fetch のレスポンス処理(json())を視覚的に理解できる
  • GET / POST の通信フローが明確になる
  • 初心者がつまずきやすい非同期処理の概念を丁寧に解説

初心者のためのJavaScript 完全入門(Udemy)

超JavaScript 完全ガイド 2026

実務で必要な HTTP 通信・エラー処理・非同期制御を深く理解したい方に最適な講座です。
fetch と XHR の違いや、async / await を使った
実践的なコードの書き方も学べます。

この講座で解決できること:

  • fetchGET / POST の実践的な書き方を習得できる
  • HTTPエラーの扱い(res.ok)を理解できる
  • Promiseasync / await の比較理解が深まる

超JavaScript 完全ガイド 2026(Udemy)

体系的に学びたい方へ(スクールという選択肢)

独学の限界を感じやすいポイント

  • fetch の仕組みが曖昧なままになる
  • json() / text() の違いが理解しづらい
  • Promiseasync / await の使い分けでつまずきやすい
  • エラー処理(res.ok チェック)が身につかない

スクールでは、プロの講師が学習ロードマップを作成し、
fetch の基本構文から GET / POST、レスポンス処理、非同期処理まで
体系的に理解できるようサポートしてくれます。

無料相談で得られるメリット

  • あなたのレベルに合わせた学習計画を作成
  • 非同期通信やエラー処理の理解を深めるアドバイスがもらえる
  • 効率的な学習方法をプロが提案
  • エンジニア転職を視野に入れたキャリア相談も可能

JavaScript の基礎を効率よく学びたい方には、
DMM WEBCAMP の学習コースも選択肢のひとつです。

DMM WEBCAMP 学習コース(無料相談はこちら)



fetch API に関するよくある質問(FAQ)

Q1

fetch と XHR のどちらを使うべきですか?

A

現代では fetch が推奨されます。XHR はレガシーコードの保守で使われます。

Q2

fetch のエラーは catch に入らないことがあるのはなぜですか?

A

HTTPエラー(404/500)は例外にならず、ネットワークエラーのみ catch に入るためです。

Q3

fetch で JSON を送信するにはどうすればいいですか?

A

headersContent-Type を指定し、bodyJSON.stringify したデータを渡します。

Q4

async / awaitfetch を組み合わせるメリットは何ですか?

A

コードが読みやすくなり、エラー処理も try/catch で統一できるためです。



まとめ

fetch API は、XHR よりもシンプルで扱いやすい
現代の標準的な通信API です。

  • Promise ベースで書きやすい
  • GETPOST の実装が簡単
  • レスポンスは text() / json() で取得
  • async / await と相性抜群

非同期処理を学ぶ上で、fetch は必ず理解しておきたい API です。



関連記事

【JavaScript入門】Ajaxとは?仕組み・特徴・XMLHttpRequestを初心者向けにわかりやすく解説

この記事で分かること Ajaxとは何か(技術の組み合わせで成り立つ概念) 非同期通信の仕組みとメリット XMLHttpRequestの役割と特徴 Googleマップやサジェストで使われる理由 Ajax …

【JavaScript入門】XMLHttpRequest(XHR)の使い方|GET・POSTリクエストの実装方法を初心者向けに解説

この記事で分かること XMLHttpRequest(XHR)の基本構造 GETリクエストの書き方 POSTリクエストの書き方 readyState・status の扱い方 実務での注意点(非同期処理・ …

このブログは Xserver 上の WordPress で運用しています。
表示速度が速く、安定しているのでブログ初心者にもおすすめです。

レンタルサーバー エックスサーバー

-Ajax / fetch / API(非同期処理)

執筆者: