ツール一覧

CORSエラーの対処法|「Access-Control-Allow-Origin」で解決する

CORS API エラー フロントエンド
結論

CORSはサーバー側で設定する。フロントからは解決できない。自分でAPIを開発しているならヘッダーを付ける、外部APIならプロキシを置く。

CORSエラーとは

ブラウザには「同一オリジン」の制限があります。https://example.comのページからhttps://api.other.comのAPIを呼ぶと、別オリジンなので、デフォルトではブロックされます。これがCORS(Cross-Origin Resource Sharing)の仕組みです。

サーバーが「このオリジンからのリクエストは許可する」とAccess-Control-Allow-Originヘッダーで返してくれないと、ブラウザはレスポンスを捨ててエラーにします。

重要なこと

CORSはサーバー側で設定するものです。フロントのコードをいじっても、サーバーが正しいヘッダーを返してくれなければ解決しません。

対処の流れ(3ステップ)

1

自分でAPIを開発している場合、サーバーでAccess-Control-Allow-Originヘッダーを付ける

2

外部APIを使っている場合、自分のバックエンドにプロキシを置く

3

開発時はCORSを許可しているAPI(JSONPlaceholderなど)で動作確認する

状況別の対処法

状況 対処法
自分でAPIを開発している サーバー(Express、FastAPI、Springなど)でレスポンスに`Access-Control-Allow-Origin`ヘッダーを付ける。本番では特定オリジンだけ許可するのが安全。
外部APIを使っている そのAPIがCORSを許可していない場合、自分のバックエンドにプロキシを置く。フロント→自分のサーバー→外部APIの流れにすれば同一オリジンになる。
開発時のお試し JSONPlaceholderなどCORS許可のAPIで確認。またはローカルで一時的にCORS無効のブラウザ拡張を使う(本番では絶対に使わない)。

まとめ

CORSエラーは、サーバーが「このオリジンからのアクセスを許可する」と返してくれないことが原因です。フロントだけでは解決できないので、サーバー側の設定を確認するか、プロキシを検討してみてください。APIデバッグ時はJSON整形JWTデコードなどのツールも活用してみてください。

🧪 JSON整形ツールでAPIレスポンスを確認

CORS許可のAPIで取得したJSONを整形して確認できます

試す