【发布时间】:2020-09-01 12:54:26
【问题描述】:
我已经构建了一个快速应用程序,最后,我为应用程序中的一个删除按钮添加了警报。但是,在我点击“确定”之前,警报就消失了。
这是我的删除表单
<form
action="/grades/<%=grade._id%>?_method=DELETE"
method="POST"
class="delete-form"
>
<input
type="submit"
class="btn btn-danger mt-3"
value="Delete Class"
id="delBotton"
/>
</form>
这是我的main.js 文件:
const delBtn = document.getElementById('delBotton');
delBtn.addEventListener('click', () =>
alertify.alert('This is an alert dialog.', function () {
alertify.message('OK');
})
);
最后,这是我的删除路线:
router.delete('/:id', middleware.checkGradeOwnership, (req, res) => {
Grade.findByIdAndRemove(req.params.id, (err) => {
try {
res.redirect('/grades');
} catch (err) {
res.redirect('/grades');
console.log(err);
}
});
});
我怎样才能解决这个问题?
【问题讨论】:
-
显然,您使用相同的按钮来发布表单和发出警报。因此,表单被发布,然后您尝试发出警报。同时,服务器通过发送重定向来响应表单,因此当浏览器收到重定向时,它会立即取消您的警报并加载新页面。在用户点击 OK 按钮之前,您不需要发布表单。
标签: javascript node.js express alertify alertifyjs