Axios.get在nodeJS,Express

时间:2020-06-22 08:09:47

标签: node.js reactjs express

.get请求有问题。 不知何故它不返回任何东西? (获取http:// localhost:8080 / admin net :: ERR_EMPTY_RESPONSE) 有什么建议吗?

获取路线,为此,我尝试通过其用户名过滤所有项目:

   app.get("/:username", verify, (req, res) => {
  console.log("Welcome to roffys server");
  Todo.find({ username: req.params.username }).then((err, todo) => {
    if (err) {
      console.log("Error retrieving todos");
    } else {
      res.json(todo);
    }
  });
});

验证功能,在这里验证我的身份验证令牌,控制台记录了该消息,并且工作正常:

    const jwt = require("jsonwebtoken");
module.exports = function (req, res, next) {
  const token = req.header("auth-token");
  console.log("-----token", token);
  if (!token) return res.status(401).send("Access Denied");
  try {
    const verified = jwt.verify(token, "secretkey");
    req.user = verified;
  } catch (err) {
    res.status(400).send("Invalid token");
    next();
  }
};

带有ReactJS的FE端:

 componentDidMount() {
const { getAll, setPageCount } = this.props.actions;
axios
  .get(`http://localhost:8080/${localStorage.getItem("username")}`, {
    headers: {
      "auth-token": localStorage.getItem("auth-token"),
    },
  })
  .then((res) => {
    getAll(res.data);
    setPageCount();
    console.log("--------res.data", res.data);
  })
  .catch((err) => {
    console.log("err", err);
  });
  }

1 个答案:

答案 0 :(得分:1)

app.get("/:username", verify, (req, res, next) => {
  console.log("Welcome to roffys server");
  Todo.find({ username: req.params.username }).then((err, todo) => {
    if (err) {
      console.log("Error retrieving todos");
      return next(err);
    } else {
      res.json(todo);
    }
  });
});

尝试添加到您的处理程序旁边,并在收到错误消息时调用它。