我有这个中间件功能,应该创建新的产品文档到数据库:
exports.postAddProduct = (req, res, next)
该函数在此路由中使用:
router.post(
'/add-product',
productValidation.addProductValidation,//(a middleware function that validate user input)
isAuth,//(a middleware function that validate the user is logged in
adminController.postAddProduct
);
请求由ejs表单触发。但是中间件仍然没有被调用。我将非常感谢任何帮助:)
在这种情况下我只能假设:
-
在
productValidation.addProductValidation
或isAuth
期间触发错误,代码将停止并抛出错误(或发送到错误处理中间件) -
您忘记在三个
middlewares
的末尾添加next()
,如果您使用F12
检查页面并查看network
选项卡内的请求,则很容易注意到它在提交表单时被调用