現在、Firebase向けの新しいCloud Functionsの使用方法を学んでいますが、AJAXリクエストを介して記述した関数にアクセスできないという問題があります。「 'Access-Control-Allow-Origin'がありません」というエラーが表示されます。これが私が書いた関数の例です:
exports.test = functions.https.onRequest((request, response) => {
response.status(500).send({test: 'Testing functions'});
})
関数は次のURLにあります:https : //us-central1-fba-shipper-140ae.cloudfunctions.net/test
Firebase docsは関数内にCORSミドルウェアを追加することを提案していますが、試してみましたが、機能しません:https : //firebase.google.com/docs/functions/http-events
これは私がそれをした方法です:
var cors = require('cors');
exports.test = functions.https.onRequest((request, response) => {
cors(request, response, () => {
response.status(500).send({test: 'Testing functions'});
})
})
何が悪いのですか?これで何か助けていただければ幸いです。
更新:
Doug Stevensonの回答が役立ちました。({origin:true})を追加すると問題が修正され、最初は完全に見落としたものに変更response.status(500)
する必要もありましたresponse.status(200)
。