CORSのエラーで困った
Jqueryのajaxを使ってhttp通信しています。gasを使ってスプレッドシートに書き込みをしています。
CORSエラーに関してはたくさんの記事があったので参考の一つになれば嬉しいです。
まだわかっていないとこも多いですがとりあえず解決できたところに注目して書いてみました。
原因は
単純リクエストで良いはずのリクエスト内容なのにoptionメソッドが呼ばれてしまっていた。
改善策
書きすぎていた余計なことを消す。
いろいろな記事を参考にしながら手探りでやってしまったせいで余計なものをたくさん書いてしまっていました。
http通信には2種類あるようです。「単純リクエスト」と「プリライトリクエスト」です。
二つの違いは公式サイトを見てください!
単純リクエストを実装したい場合にとにかく書いて良いのは、
https://developer.mozilla.org/ja/docs/Web/HTTP/CORS
この公式ドキュメントの「単純リクエスト」のところに書いてあるものだけ!!!
一つでも余計なものを書いてしまうとプリフライトリクエストが送られて、実行したいpostメソッドやgetメソッドのまえにOptionメソッドが呼ばれてしまいます。
下の写真で言うと、コメントアウトされているものは単純リクエストの際には書いてはいけないものです。
参考記事
https://qiita.com/im36-123/items/775aa7fd4ba3b171768c
https://developer.mozilla.org/ja/docs/Web/HTTP/CORS