从我的客户端,我正在使用这样的数据获取到我的Firebase node.js服务器上的webhook。
const url = 'https://us-central1-<app>.cloudfunctions.net/addUserdata';
const data = {
firstName: 'John',
lastName: 'Doe',
email: 'john.doe@email.com'
}
const request = new Request(url, {
method: 'POST',
body: data,
mode: 'no-cors',
headers: new Headers()
});
fetch(request)
.then(function(result) {
console.log(result);
})
我现在正试图抓住这些数据。
exports.addUserdata = functions.https.onRequest((req, res) => {
console.log(req.body);
res.send(200);
});
不幸的是我的req.body是一个空对象。我错过了什么或做错了什么?
答案 0 :(得分:1)
将JSON
,FormData
,Blob
对象或字符串传递给body
。 Request.body
不期望JavaScript对象。
body: JSON.stringify(data)
答案 1 :(得分:0)
在POST
次请求时,您必须等待一段时间才能将数据导入request.body
var body = '';
req.on('data',function(data) { body += data; });
req.on('end', function(data) {
req.body = JSON.parse(body);
});