← エラー辞典に戻る

JavaScript

🟡 SyntaxError: Unexpected token '<'

JSONの代わりにHTMLが返ってきた

😰 こんな症状

fetchのレスポンスをJSON.parseしたら「Unexpected token '<'」と出る。APIのURL間違いで起きやすいよ。

🔍 原因

APIのURLが間違っていて、HTMLページ(404ページやログインページなど)が返ってきているよ。JSON.parse()やresponse.json()はJSON文字列を期待しているのに、HTMLの<で始まる文字列が来るとパースに失敗するんだ。

❌ エラーが起きるコード

const data = await res.json();
// 404ページのHTMLが返っている

✅ 直し方

1. fetchのURLが正しいか確認する。 2. response.okをチェックしてからjson()を呼ぶ(if (!res.ok) throw new Error(...))。 3. DevToolsのNetworkタブでレスポンスの中身を確認する。 4. Content-Typeヘッダーがapplication/jsonか確認する。

✅ 修正後のコード

const res = await fetch("/api/data");
if (!res.ok) throw new Error("API error");
const data = await res.json();

この解決法は役立ちましたか?

🔗 関連するエラー

🔗 別カテゴリの関連エラー

📖 この問題を学べるレッスン

JavaScriptコースで基礎から学ぶ →

📝 関連ブログ記事

📖 関連する用語

🚀 JavaScriptコースで基礎を学ぼう!

エラーの原因を根本から理解するには、基礎を体系的に学ぶのが近道です。完全無料・登録不要。

JavaScriptコースを始める →

❓ 関連するQ&A