Javascript Node js-页面呈现发生在数据库更新之前
我一直在尝试在用户被删除后呈现我的Javascript Node js-页面呈现发生在数据库更新之前,javascript,node.js,express,async-await,Javascript,Node.js,Express,Async Await,我一直在尝试在用户被删除后呈现我的admin页面,从前端的角度来看,有一个包含所有现有用户的简单表,删除操作可以工作,但我需要刷新我的页面以查看更新的结果,这就像呈现发生在数据库删除用户之前 下面是它在我的route.js中的外观 router .route('/admin_interface/:id') .get( user_controller.allowIfLoggedin, user_controller.grantAccess('readAny', 'admin
admin
页面,从前端的角度来看,有一个包含所有现有用户的简单表,删除操作可以工作,但我需要刷新我的页面以查看更新的结果,这就像呈现发生在数据库删除用户之前
下面是它在我的route.js中的外观
router
.route('/admin_interface/:id')
.get(
user_controller.allowIfLoggedin,
user_controller.grantAccess('readAny', 'admin_interface'),
user_controller.getUsers,
(req, res) => {
res.render('admin_interface', { users: req.params.users,alert:req.error})
}
)
.post(user_controller.getUsers,async (req, res) => {
if (Object.keys(req.body)[0] === 'delete_ID')
await user_controller.deleteUser(req, res)
if (Object.keys(req.body)[0] === 'approve_ID')
await user_controller.verifyDoctor(req, res)
res.render('admin_interface', { users: req.params.users, alert: req.error })
})
因此,它的工作原理是,它对应于我从ejs
文件获得的操作名称,如果它是delete\u ID
,它将进入第一个if
块,但同时它将在deleteUser
方法完成之前呈现页面
这是我在UserController.js
文件中的deleteUser
方法:
exports.deleteUser = async (req, res) => {
try {
const userId = req.body.delete_ID
await User.findByIdAndDelete(userId)
throw 'User has been deleted.'
} catch (msg) {
req.error = { Message: msg, statusCode: '200' }
res.status(200)
}
}
删除后,它应该刷新并显示用户已被删除。
消息(这种类型的消息显示有效,因此不必担心该功能)