JavaScript
fetch failed: NetworkError
fetchでネットワークエラー
こんな症状
fetchでAPIを呼んだらNetworkErrorが出る。サーバー接続の問題で起きやすいよ。
まず試す
URL(スペル・ポート番号)が正しいか、サーバーが起動しているかを確認する。
js
// サーバー起動・URL確認の上で
fetch("http://localhost:3000/api").catch(console.error);これで直らなければ、下の「自分のケース」を確認。
🔍 自分のケースはどれ?
- ✓サーバーが起動していない
→ 開発サーバーを起動する(npm run dev 等)。 - ✓URLが間違っている
→ スペル・ポート番号を確認する。 - ✓CORSで拒否されている
→ サーバー側でCORS許可を設定する。DevToolsのConsole/Networkで詳細を見る。
なぜ起きる?
URLが間違っている、サーバーが起動していない、ネットワーク接続がない、またはCORSで拒否されているよ。fetchはネットワークレベルのエラー(サーバーに到達できない)の場合にNetworkErrorを投げるんだ。HTTPエラー(404等)とは異なり、そもそも通信できていない状態だよ。
✕ エラーが起きるコード
fetch("http://localhost:3000/api")
// サーバーが起動していない✓ 直したコード
// 1. サーバーを起動する
// 2. URL を確認する
fetch("http://localhost:3000/api").catch(console.error);✅ 直ったか確認
fetch がエラーなくレスポンスを返せばOK。
この解決法は役立ちましたか?
🔗 関連するエラー
- SyntaxError: Unexpected token '<' — JSONの代わりにHTMLが返ってきた
- Uncaught ReferenceError: xxx is not defined — 変数・関数名のタイポ
- Uncaught TypeError: Cannot read properties of null (reading 'addEventListener') — 取得しようとしたHTML要素が見つかっていない
- 404 Not Found(スクリプトが読み込まれない) — script の src パスが間違っている
- 計算結果が NaN になる — 文字列を数値に変換していない
📖 この問題を学べるレッスン
✏️ 手を動かして練習
📝 関連ブログ記事
- プログラミングのエラーメッセージの読み方 — エラーの読み方を基礎から解説
- JavaScriptとは?初心者向けにわかりやすく解説 — 変数・関数・イベントの基本
- JavaScriptでボタンクリックを動かす方法 — ボタンクリック時の動作を解説