【问题标题】:Not able to get the res.json() value from nodejs server无法从 nodejs 服务器获取 res.json() 值
【发布时间】:2021-06-06 05:51:37
【问题描述】:

我使用 react.js 作为前端,使用 nodejs 作为后端。我的客户端代码是

export const updatePaymentDetails = (userId, token, paymentDetails) => {
  return fetch(`${API}/user/${userId}`, {
    method: "POST",
    headers: {
      Accept: "application/json",
      "Content-Type": "application/json",
      Authorization: `Bearer ${token}`
    },
    body: JSON.stringify(paymentDetails)
  })
    .then(response => {
      console.log(response);
      return response.json();
    
    })
    .catch(err => console.log(err));
};

我的服务器端代码是

exports.updateUser = (req, res) => {
    User.findByIdAndUpdate(
        {_id: req.profile._id},
        {$set: req.body},
        {new: true, useFindAndModify: false},
        (err, user) => {
            if(err) {
                return res.status(400).json({
                    error: "You are not authorized to update this user"
                });
            }
            user.salt = undefined;
            user.encry_password = undefined;
            user.createdAt = undefined;
            user.updatedAt = undefined;
            console.log(user);
            return res.json(user);
        }
    );
};

前端输出

在服务器端代码中,您可以看到我正在返回 res.json。但在客户端,我没有得到从服务器返回的值。

请问,谁能帮帮我?

【问题讨论】:

  • 您的console.log(user) 是否在后端打印正确的用户详细信息?
  • 是的。它在后端打印正确的用户详细信息。
  • 前端的响应是什么。你能提供你得到的任何错误或输出吗?
  • 前端没有显示任何内容。
  • 显示您的console.log(user) 输出。

标签: javascript node.js reactjs mongodb mongoose


【解决方案1】:

你需要再添加一个then()。当您调用 response.json() 时,它还会返回一个承诺,当您返回 response.json() 时应用 then 调用

【讨论】:

  • 谢谢,我的问题已经解决了。你能支持这个问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-08
  • 2021-09-08
  • 2016-07-15
  • 2012-05-03
  • 2013-05-28
  • 1970-01-01
相关资源
最近更新 更多