【发布时间】:2020-03-06 04:52:51
【问题描述】:
当我在 localhost 上运行我的 react 应用程序时,我在浏览器上收到以下错误,该应用程序将有效负载发送到 Google Firebase 函数:
从源“http://localhost:3000”获取在“https://
我的 Google Firebase 函数有以下代码:
exports.<myfunction> = functions.https.onRequest(async (req, res) => {
res.set('Access-Control-Allow-Origin', 'http://localhost:3000');
res.set('Access-Control-Allow-Headers', '*');
console.log(req.body);
res.end()
});
我在 Firebase 函数控制台日志中遇到的错误如下:
SyntaxError: Unexpected token # in JSON at position 0 在 JSON.parse() 在 createStrictSyntaxError (/worker/node_modules/body-parser/lib/types/json.js:157:10) 在解析(/worker/node_modules/body-parser/lib/types/json.js:83:15) 在 /worker/node_modules/body-parser/lib/read.js:121:18 在 invokeCallback (/worker/node_modules/raw-body/index.js:224:16) 完成后(/worker/node_modules/raw-body/index.js:213:7) 在 IncomingMessage.onEnd (/worker/node_modules/raw-body/index.js:273:7) 在 emitNone (events.js:111:20) 在 IncomingMessage.emit (events.js:208:7) 在 endReadableNT (_stream_readable.js:1064:12)
触发该功能的我的客户端代码如下:
submit(name) {
fetch('https://< myproject >.cloudfunctions.net/< my function >', {method: 'POST', headers: {"Content-Type": "application/json",
},
body: 'mytoken'
}).then(result => {console.log(result)});
}
此外,在几分钟和几天前一切正常!就好像这个错误开始突然冒出来一样。
【问题讨论】:
-
你在服务器端使用
node? -
@DonaldWu 我正在使用使用 Node 的 Google Firebase 函数
-
你使用
express?您是否在节点中添加了corslib? github.com/expressjs/cors -
@DonaldWu 据我所知,除非 firebase 函数以某种方式自动使用它,否则我不使用 express,但我不相信它会
-
您为什么不使用标准的 cors 模块? stackoverflow.com/questions/42755131/…
标签: firebase cors google-cloud-functions