【问题标题】:why is the express server responding with error eventhough everything is correct为什么即使一切都正确,快递服务器仍会响应错误
【发布时间】: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


【解决方案1】:

缺少的部分是 POST JSON (link) 时需要的 content-type 标头。可以在 Postman 中轻松开启:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    • 2020-04-20
    • 2019-12-16
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多