发送回函数时如何接收res.send(req.body)

时间:2018-12-17 02:14:36

标签: javascript node.js express

我正在尝试将POST请求路由上的req.body发送回执行POST请求的函数。

需求主体就是这样的{ username: 'aa', password: 'ss' }

我正在使用一个函数来发布消息,并且在发布后希望使用响应。

使用res.sendStatus(200)或res.sendStatus(401)我可以这样访问它

post('/login', { username, password })
    .then(({ status }) => {
      if (status === 200) {alert('login success'); window.location.href = "/about"}
      else alert('login failed')
    })

在回复then()res.send(req.body)时如何使用res.json(req.body)访问用户名

我尝试.then(({ username }) => {alert(username)})并得到未定义的错误

2 个答案:

答案 0 :(得分:0)

如果您使用的是fetch API,则在响应对象上调用json()时,将具有响应json。

post('/login', { username, password })
  .then(({ status, json }) => {
    const responseJSON = json();
    const { username } = responseJSON; // all your data will be in this object
    if (status === 200) {alert('login success'); window.location.href = "/about"}
    else alert('login failed')
})

如果您使用的是axios,则您的响应json将存储在data对象中。

post('/login', { username, password })
  .then(({ status, data }) => {
    const responseJSON = data;
    const { username } = responseJSON; // all your data will be in this object
    if (status === 200) {alert('login success'); window.location.href = "/about"}
    else alert('login failed')
})

答案 1 :(得分:-1)

确保您可以先获得username

post('/login', { username, password })
.then(response => {
    responseJSON = JSON.parse(response);
    console.log(responseJSON);
});