我们的对象是由用户通过表单传递信息构建的。我们可以成功创建和发布对象,但我们无法删除它们。
我为此尝试了很多不同的路线/呼叫,但没有一个成功。
这是我们的HTML按钮,用于在Node中触发删除调用:
<form id='deleteMe' name='deleteMe' method='delete' action=''deleteMe'>
<input name='_method' value='delete'>
<button type='submit'> delete </button></form>
这是删除本身的快速路线。
router.post('/deleteMe', function (req, res, next) {
const _id = req.body.id
mongoose.connect(URL, function (err, db) {
assert.equal(null, id)
db.collection('spots').deleteOne({ "_id": objectId(_id) }, function (err, result) {
console.log('op')
assert.equal(null, err);
db.close();
})
});
})
任何帮助都会非常感激。
你在表单中使用delete
方法,这是正确的,并在你表达服务器上的方法,尝试使用router.delete
而不是router.post
,像这样,
router.delete('/deleteMe', function (req, res, next) {
const _id = req.body.id
mongoose.connect(URL, function (err, db) {
assert.equal(null, id)
db.collection('spots').deleteOne({ "_id": objectId(_id) }, function (err, result) {
console.log('op')
assert.equal(null, err);
db.close();
})
});
})
同样在您的表单上,您在action属性上有语法错误,它应该是action='deleteMe'
你在html中有一个额外的引用
行动= '' DELETEME”