【发布时间】:2017-05-24 08:40:06
【问题描述】:
我正在构建一个 Node/Mongo/Express/Jquery 应用程序,该应用程序可以正确处理 DELETE 请求,但之后不会刷新页面以更新其内容。
我尝试了为this question 发布的答案,但在包含之后
req.method = 'GET'
在 router.delete(url, callback) 代码块中,我没有得到不同的结果。
代码:
router.delete('/formula-list/:id', function(req, res){
var db = req.db;
var collection = db.get('formulas');
var id = req.params.id;
var query = { "_id": id };
collection.findOneAndDelete(query);
req.method = 'GET';
res.redirect('/formula-list');
});
再次,“删除”请求使用 jQuery AJAX 调用可以正常工作,但我希望页面更新以反映已从数据库中删除项目。
我也尝试了以下方法,但无济于事:
router.delete('/formula-list/:id', function(req, res){
var db = req.db;
var collection = db.get('formulas');
var id = req.params.id;
var query = { "_id": id };
collection.findOneAndDelete(query);
collection.find({}, {}, function(e, docs){
res.render('formula-list', {
formulas: docs,
title: 'Your Formulas',
description: `List of saved user formulas from the formula generator`,
ID: 'formula-list',
keywords: 'formula generator, health kismet, nutraceutical formula builder'
});
});
});
这里的想法是,一旦我从数据库中删除项目,我就会将集合重新发送到要重新显示的 URL。我在添加和不添加 req.method = 'GET' 的情况下都这样做了,但这也不起作用。
感谢您的考虑。
【问题讨论】:
标签: jquery node.js mongodb express