本文へ移動
Webstudio YAS
  • About
  • Price
  • Work
  • Blog
  • Contact
  • About
  • Price
  • Work
  • Blog
  • Contact
  1. ホーム
  2. Blog
  3. LaravelのAPIがCORSエラーを返す意外な原因

公開日: 2022.08.26

LaravelのAPIがCORSエラーを返す意外な原因

LaravelのAPIがCORSエラーを返す意外な原因

目次

  • はじめに
  • 原因1
  • 原因2
  • 原因3
  • まとめ

はじめに

Laravel(API)にフロントからAjaxなどでリクエストを送った際にCORSエラーが発生。

前提として

  • 一通りCORS対策の設定が適切にできている。
  • 正常に通信できていたのに、ある時CORSエラーが返ってきた。

原因1

レスポンスヘッダーが返っていない

コントローラーなどでreturnする時に、以下のようにresponse()を付けていないと、レスポンスヘッダーが送られないので、CORSエラーになります。

return 'Hello world!'; // ×
return response('Hello World!'); // ○

ルーティングのミスやコントローラー内でエラーが発生している場合なども同じくレスポンスヘッダーが返らないのでCORSエラーとなります。

原因2

フロント側からリクエストヘッダーが送られていない

自分の場合はReactでしたが、APIにリクエストする際に送り先のURLの末尾にスラッシュ「/」が付いているとヘッダーが付与されないらしいです。別のフレームワークなどでも同様の仕様があるようです。

この場合もLaravel側はヘッダーがないのでCORSエラーを返します。

原因3

Axiosのバージョンによるもの

詳しくは以下の記事

Axiosアップデートでaxioserror: request failed with status code 419はじめに LaravelをAPIにしてフロントをNext.jsで開発しているサービスで、Axiosを1.6.0へアップデートしたところ、4…

まとめ

今まで、これらの原因でCORSエラーに悩まされてきました。また別の原因に出くわしたら追記して行きます。

タグ

  • CORS

関連記事

2021.01.05

【Laravel】突然502 Bad Gatewayに遭遇

【Laravel】突然502 Bad Gatewayに遭遇

2021.03.29

【Laravel】サブディレクトリに設置したアプリでapp.js、app.cssがnet::ERR_ABORTED 404 Not Found

【Laravel】サブディレクトリに設置したアプリでapp.js、app.cssがnet::ERR_ABORTED 404 Not Found

2022.01.27

Laravelのイベントとリスナを非同期で実行してみる

Laravelのイベントとリスナを非同期で実行してみる
Webstudio YAS
  • About
  • Price
  • Work
  • Blog
  • Contact
YAS プロフィール画像

長野県長野市在住
WEBエンジニア YAS

LINKS

  • X
  • Instagram
  • GitHub
Design
  • スタンダード
  • 和モダン
  • エンジニア
  • 信州ナチュラル
プライバシーポリシー

@ Webstudio YAS