LoginSignup
1
0

More than 3 years have passed since last update.

【CORS】ドメインの異なるサイトにAPIリクエストを送るとエラーが発生

Last updated at Posted at 2020-05-31

ブラウザから違うドメインにAPIリクエストをした際に、以下のエラーが発生

Access to XMLHttpRequest at 'http://xxxxx' from origin 'http://localhost:3001' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

原因

ドメインが違うサイトにリクエストを送る時、クライアント(送信元のサイト)からのリクエストを許可していないときに起こるエラー

解決策は3つ

  1. リクエストを送りたいサイトに、自分のサイトのドメインからのリクエストを許可してもらう。
  2. Chromeの拡張機能 CORS Unblock を使ってリクエストを送れるようにする
  3. サーバサイド(Nodeやphpなど)からリクエストを送る。

実施した解決策

リクエストの送信先がLaravelで作っている自作APIだったので、1 の方法を実施。
具体的には、laravelに新しくCORSを許可するミドルウェアを作成して、router.php で該当のAPIリクエストにミドルウェアを適応することで解決。

参考にしたサイト

クロスドメインによるエラーを解決する
CORSについて理解してLaravel5.6で対応する

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0