0
0

Firebase FunctionsとGatsbyのCORS問題

Posted at

Gatsbyで作った静的サイトでのお問い合わせフォーム送信にFirebase Functionsを用いて実装した際に、CORSエラーが出て無駄に詰まったので、解決策を残しておこうと思います。

結論

以下のどちらかで解決するはずです。

  • レスポンスにset('Access-Control-Allow-Origin', '*')をセットする
  • ブラウザのキャッシュをクリアする

軽く解説しておきます。

手段1:レスポンスにset('Access-Control-Allow-Origin', '*')をセットする

詳しくはこちらの記事をご参考いただきたいのですが、結論的には以下のようにすると良いみたいです。(Firebase functions側)

export const send = onRequest(async(req, res) => {
  res.set('Access-Control-Allow-Origin', '*')
  // 他の処理
})

手段2:ブラウザのキャッシュをクリア

各ブラウザの設定からキャッシュをクリアしてください。

自分の場合は、手段1を実行しても解決せず、なぜ解決しないのか途方に暮れていましたが、ブラウザを変えたらすんなりCORSエラーが消えていたので、そういうことかと。

まとめ

GatsbyとFirebase Hostingのサイト、キャッシュのせいで何かと深みにハマるので、気をつけたいところです。

以前にも別のことで詰まり、結局キャッシュだったってことがあったので、あるあるなんですかね。。。

0
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
0
0