LoginSignup
0
0

More than 3 years have passed since last update.

急にaxiosでURLリクエストできなくなった!?

Posted at

何が起きたのか

スクリーンショット 2019-08-28 19.46.36.jpg

今まで普通に運用できていたシステムでaxiosを利用してURLリクエストを行なっている箇所から上記のようなエラーが。。


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


あ〜CORSのエラーね、
ん〜
CORS周辺なんか最近いじったかなぁ?
まぁ調べてみるか

const functions = require('firebase-functions');
const corsLib = require('cors');
const cors = corsLib();

exports.say = functions.https.onRequest((request, response) => {
    return cors(request, response, () => {
        response.send("Hello from Firebase!");
    })
});

もともとこんな感じで書かれていました。
これの関数の中身がしっかり書かれている感じ

ちゃんとCORS許可してるぞ〜??

気がつけば3時間ハマってた。

CORSの問題ではなかった

corsのバージョンを変えてみたり、
firebaseのcloud functionsが悪いのかとデプロイし直したり、
しかし原因がわからない。
簡単なログを吐くfunctionを作成して呼んでみると、
動いた…

ますますわからん、cors全然問題ないじゃん…

色々調べてやっとわかった。
今回のバグ、もともとはメールを送るcloud functionだったのだが、
メールの本文をaxiosのgetでクエリパラメータとして渡していた。
今回ユーザーが長文を送ったことでバグが発生。
どうやらaxiosのget関数は渡せるクエリパラメータの長さに限界があるみたいだ。

axiosの関数をgetからpostに変更すると解決!

ちゃんとデータを来るときはpost使おうねというお話。

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