【发布时间】:2020-06-24 22:22:44
【问题描述】:
我是使用 express.js 的新手,我正在尝试在示例服务器中进行简单的登录,因此我创建了一个数据库对象,其中包含对象的用户数组和每个对象(如果用户数组具有电子邮件属性)和密码,问题是即使我使用body-parser将body解析为js对象,它总是以错误响应,这是代码
const app = express();
app.use(bodyParser.json())
const database = {
users: [
{
email: 'jacob@gmail.com',
password: 'somepw'
},
{
email: 'csqfdqsdf@dfjdskf.com',
password: 'dkjfzqsdiof'
}
]
}
app.post('/signin', (req, res) => {
if (req.body.email === database.users[0].email && req.body.password === database.users[0].password) {
res.json('success')
} else {
res.json('error')
}
})
app.listen(3000, () => {
console.log('app is listening')
})
我与邮递员发送的请求:
{
"email": "jacob@gmail.com",
"password": "somepw"
}
如您所见,请求与数据库中的数据匹配,但它仍然以错误响应。希望我能很好地描述问题,谢谢
【问题讨论】:
-
你能 console.log
req.body并显示你从 Postman 发送有效负载的方式吗? -
它正在记录一个空对象:{}
-
你能给我看一张你邮递员的截图吗?
-
缺少的是
content-type标头。您只需单击文本标签并切换到 JSON,让我知道这是否有效
标签: javascript express server postman backend