Node.js 当我添加一个引用变量的控制台日志时,为什么我的Google Cloud函数会引发CORS策略问题?

Node.js 当我添加一个引用变量的控制台日志时,为什么我的Google Cloud函数会引发CORS策略问题?,node.js,google-cloud-functions,Node.js,Google Cloud Functions,我有一个基本的node.js云函数。它接受请求并只返回消息体;它工作不正常,我正在尝试使用控制台日志进行调试 /** * Responds to any HTTP request. * * @param {!express:Request} req HTTP request context. * @param {!express:Response} res HTTP response context. */ exports.helloWorld = (req, res) => {

我有一个基本的node.js云函数。它接受请求并只返回消息体;它工作不正常,我正在尝试使用控制台日志进行调试

/**
 * Responds to any HTTP request.
 *
 * @param {!express:Request} req HTTP request context.
 * @param {!express:Response} res HTTP response context.
 */
exports.helloWorld = (req, res) => {
  res.set('Access-Control-Allow-Origin', '*');
  console.log("req: ");
  if (req.method === 'OPTIONS') {
    // Send response to OPTIONS requests
    res.set('Access-Control-Allow-Methods', 'GET');
    res.set('Access-Control-Allow-Headers', 'Content-Type');
    res.set('Access-Control-Max-Age', '3600');
    res.status(204).send('');
  } else {
    let message = req.query.message || req.body.message || 'Hello World!';
    let rets ={};
    rets['message'] = message;
    res.status(200).send(JSON.stringify(rets));
  }

};
以上方法很好。但是如果我将控制台日志行更改为:

  console.log("req: " + JSON.stringify(req) );
我得到以下错误:

CORS策略已阻止从源“”获取“”的访问:请求的资源上不存在“访问控制允许源”标头。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源

我只是不明白为什么console语句会影响CORS的东西。我在上面的代码中添加了检查,以尝试修复这些CORS问题

编辑1:

我注意到,如果我改为控制台记录请求主体,我不会得到CORS错误?下面的工作很好

  console.log(JSON.stringify(req.body) );

尝试在客户端打开CORS模式。

尝试在客户端打开CORS模式。

找到答案了吗?找到答案了吗?