Firebase 文档建议在函数内添加 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'});
})
})
我究竟做错了什么?我将不胜感激任何帮助。
UPDATE:
道格·史蒂文森的回答有帮助。添加({origin: true})解决了问题,我也必须改变response.status(500) to response.status(200)一开始我完全错过了。
Answer recommended by Google Cloud
Collective
那里有两个示例函数由 Firebase 团队提供,演示了 CORS 的使用:
具有日期格式的时间服务器
需要身份验证的 HTTPS 端点
第二个示例使用与您当前使用的不同的 cors 工作方式。
考虑像这样导入,如示例所示:
const cors = require('cors')({origin: true});
你的函数的一般形式将是这样的:
exports.fn = functions.https.onRequest((req, res) => {
cors(req, res, () => {
// your function body here - use the provided req and res from cors
})
});