首页 > 解决方案 > 服务器返回空响应

问题描述

我正在尝试从我的服务器中获取一些数据,并且在使用 Postman 测试请求时效果很好,并且我可以取回数据。但是当我尝试在我的应用程序中实现请求时,我得到了一个带有undefined属性的空对象

代码:

fetchUserData = (user) => {
  axios.post('api', {
    username: user
  })
  .then((res) => {
    this.setState({
      credit: res.credit,
      points: res.points
    })
    console.log(`this is user stats\ncredit:${res.credit}\npoints:${res.points} for the user: ${user}`)
  })
}


router.post('/', (req, res) => {

    UserData.findOne({                    
        username: req.body.username,                         
    }, 

    (err, user) => {
        if (err) {
            console.log('Error in saving user to mongodb: ' + err);
            res.send(err);
        }
        if (user) {
            if(user.username === req.body.username) {
                console.log('fetching data for: ' + user.username);
                console.log(user);
                res.send(user);
            }
        }
    });

})

邮递员的回应:

{"_id":"5afd9bXXXXXXX664a5af","username":"check","credit":1,"points":0,"__v":0}

应用程序控制台上的响应:

this is user stats credit:undefined points:undefined for the user: check

标签: javascriptreactjshttpexpress

解决方案


从响应中读取数据我应该使用'res.data.something'而不是res.something


推荐阅读