我正在从这样的角度形式发出http请求:
this.http.post(this.endPoint, formData, { responseType: 'text' }).subscribe(
res => {
console.log(res);
}
)
我有一个简单的云功能:
const functions = require('firebase-functions');
const cors = require('cors')({ origin: true });
exports.test = functions.https.onRequest((req, res) => {
cors(req, res, () => {
const data = req.body;
res.send(`Hello from Firebase! ${data}`);
});
})
但是req.body无法正常工作,我得到了以下答复:
Firebase,您好! [对象对象]
有什么想法为什么会发生吗?
答案 0 :(得分:2)
如果您要打印<input type=file>
值,则首先必须将其从JavaScript对象转换为字符串:
req.body
答案 1 :(得分:1)
Frank's answer可能更接近您要寻找的东西。
或者,如果您只想打印特定属性:
您正在使用模板文字将req.body注入您的字符串中。由于req.body(或本例中的数据)是一个对象,因此您必须从中提取要显示的值,如req.body.prop
。
This example from Firebase quickstart显示了将属性从请求正文中拉出。
答案 2 :(得分:0)
我发现了问题:从Angular表单发布请求时,我在标题中添加了'Content-Type': 'multipart/form-data'
。