我为Firebase云功能安装了CORS。
我正在使用sendgrid发送交易电子邮件。
我在另一个文件夹中使用了这个完全相同的代码,并且此函数没有返回任何问题-但是我将2个单独的函数文档合并到一个文件夹中,现在我不断遇到错误...
CORS策略已阻止从源“我的网站”通过“云功能触发器”访问XMLHttpRequest:请求的资源上没有“ Access-Control-Allow-Origin”标头。
真的很困惑,可能是什么...
const cors = require('cors')({ origin: true });
exports.sendRequest = functions.https.onRequest((req, res) => {
cors(req, res, () => {
return Promise.resolve()
.then(() => {
if (req.method !== 'POST') {
const error = new Error('Only POST requests are accepted');
error.code = 405;
throw error;
}
const msg = {
to: req.body.companyEmail,
from: req.body.name,
text: 'and easy to do anywhere, even with Node.js',
html: '<strong>and easy to do anywhere, even with Node.js</strong>'
}
};
return sgMail.send(msg);
})
.then((response) => {
if (response.body) {
res.send(response.body);
} else {
res.end();
}
})
.catch((err) => {
console.error(err);
return Promise.reject(err);
});
})
})