为什么我的POST请求响应中没有数据?

时间:2019-04-09 14:22:48

标签: express post axios

我正在对我使用express设置的路线进行发布请求:

todolists.post('/getTodoLists', (req, res) => {
  TodoList.findOne({
    userEmail: req.body.userEmail
  })
    .then(todolist => {
      if (!todolist) {
        res.status(404).send()
      } else {
        res.status(200).json(todolist)
      }
    })
    .catch(err => {
      console.log(err)
      res.status(500).send(err)
    })
})

当我使用以下代码从数据库中检索数据时,我在控制台中得到的只是“对象对象”

axios
  .post('todo-lists/getTodoLists', {
      userEmail: this.userEmail
   })
     .then(res => {
        console.log('response from gettodoLists' + res)
        this.todolist = res
        console.log(this.todolist)
      })
      .catch(err => {
        console.log(err)
      })

当我使用邮递员向具有相同请求数据的相同路线发出请求时,我会获得我希望接收的所有数据。

谢谢!

编辑:

这是我从邮递员那里得到的

{
    "_id": "5caca1498accb128c8974d56",
    "title": "todolist1",
    "userEmail": "test@gmail.com",
    "todos": [
        {
            "_id": "5caca1498accb128c8974d57",
            "description": "Get this done",
            "completed": true
        }
    ],
    "dateDue": "2019-04-07T18:24:31.207Z",
    "__v": 0
}

这是我在控制台中记录响应时在控制台中得到的内容

response from gettodoLists[object Object]

1 个答案:

答案 0 :(得分:0)

您必须从响应对象获取数据才能在Postman中看到正文。

axios.post('todo-lists/getTodoLists', {
      userEmail: this.userEmail
   })
     .then(res => {
        console.log(res.data)
      })
      .catch(err => {
        console.log(err)
      })

响应是包含标题等的完整响应