【发布时间】:2020-06-01 16:16:56
【问题描述】:
我在一个 firebase 项目中工作,我正在尝试按照教程进行操作,我可以找到解决方法。 我在其他项目中看到过这种类型的验证,它应该可以工作,但我不知道我的代码中缺少什么。
我明白了
TypeError: 无法读取未定义的属性“trim”
这是一个 POST 请求
exports.createContact= (req, res)=>{
if (req.body.body.trim() === '') { // ERROR HERE WHEN VALIDATING
return res.status(400).json({ body: 'Body must not be empty' });
}
...
}
这是 index.js
"use strict";
const functions = require('firebase-functions');
const express = require('express');
const app = express();
const {createContact}= require('./handlers/contacts');
//middle ware
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
// server functions
app.post('/contact', createContact);
exports.api = functions.https.onRequest(app);
感谢您的帮助
【问题讨论】:
-
API 的客户端如何发出请求?请把它贴在 OP 上好吗?
-
你好 @laruiss 我正在使用 POSTMAN 发送 post 请求
http://localhost:5000/api/contact我把一个原始的身体像 JSON 格式 { "phone": "4444444" } -
所以在
req.body中,你会得到一个对应你发送的对象,所以{phone: '4444444},不会有req.body.body,只有req.body.phone -
嗨@laruiss,我可以只使用req.body进行验证,但我现在的问题是为什么我应该使用req.body.body,或者它是否对firebase特别有用?
-
谁告诉你必须或应该使用
req.body.body?
标签: javascript node.js firebase express