Firebase Cloud Functions CORS问题

时间:2018-11-02 02:36:36

标签: javascript firebase cors google-cloud-functions sendgrid

我为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);
  });
})
})

0 个答案:

没有答案