GET + PUT - Route.get() 需要回调函数,但出现 [object Undefined] 错误

问题描述 投票:0回答:1

我尝试对最后一个 router.route('/profile') 实现相同的“功能(req,res)”,但它不起作用,并且我不断收到此错误。任何有关我可能做错的事情的帮助将不胜感激!

const express = require("express");
const router = express.Router();
const {
  authUser,
  registerUser,
  logoutUser,
  getUserProfile,
  updateUserProfile,
} = require("../controllers/userController");
const { protect } = require("../middleware/authMiddleware");

router.post("/", function (req, res) {
  registerUser;
});
router.post("/auth", function (req, res) {
  authUser;
});
router.post("/logout", function (req, res) {
  logoutUser;
});
router
  .route("/profile")
  .get(protect, getUserProfile)
  .put(protect, updateUserProfile);

module.export = router;
javascript routes server syntax
1个回答
0
投票

您没有将回调函数传递给 registerUser、authUser 和 logoutUser 函数。调用这些函数的正确方法是将 req 和 res 参数作为参数传递。

const express = require("express");
const router = express.Router();
const {
  authUser,
  registerUser,
  logoutUser,
  getUserProfile,
  updateUserProfile,
} = require("../controllers/userController");
const { protect } = require("../middleware/authMiddleware");

router.post("/", function (req, res) {
  registerUser(req, res);
});
router.post("/auth", function (req, res) {
  authUser(req, res);
});
router.post("/logout", function (req, res) {
  logoutUser(req, res);
});
router
  .route("/profile")
  .get(protect, getUserProfile)
  .put(protect, updateUserProfile);

module.export = router;
© www.soinside.com 2019 - 2024. All rights reserved.