首页 > 解决方案 > UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“正文”

问题描述

const passport = require('passport')
const User = require('../models/user')

module.exports = async (router) => {
    router
        .route('/auth/register')
        .post( async (req, res) => {
            if (req.body){
                console.log(req.body)
                //prints Object {username: "lkhjk", password: "asdas", role: 0}
                let r = await User.createUser(req.body.username, req.body.password. req.body.role) //throws error on this line
                console.log(r)
                return res.send(r)
            } else return res.status(400).send()
        })
}

req您好,如果在 console.log 上可以毫无问题地打印它 ,我很难找到为什么它说未定义。(bodyparser 已配置并且在请求中它具有正确的标头)

标签: node.jsexpressasync-awaitpassport.jsundefined

解决方案


你在这一行有一个错字:

let r = await User.createUser(req.body.username, req.body.password. req.body.role)

你有一个.而不是一个,。所以req.body.password.req是未定义的。

尝试:

let r = await User.createUser(req.body.username, req.body.password, req.body.role)

推荐阅读