我正在构建一个 CRUD 应用程序。我陷入了更新和删除操作,其他一切似乎都正常。所以我使用方法覆盖来发送 PUT 和 GET 请求。
这是相关代码:
app.js
const methodOverride = require('method-override');
app.use(methodOverride('_method'));
这是我写的更新和删除内容。我正在使用 Mongodb 的 Monk 驱动程序。
index.js
var router = express.Router();
router.put('/videos/:id', function(req, res){
var collection = db.get('videos');
var item = {
title: req.body.title,
genre: req.body.genre,
image: req.body.image,
description: req.body.desc
};
var id = req.params.id;
collection.update(
{_id: id}, {
$set: item
});
res.redirect('/videos');
});
router.delete('/videos/:id', function(req, res){
var collection = db.get('videos');
collection.remove({"_id" : req.params.id});
res.redirect('/videos');
});
对于删除表格
<form action="/videos/<%= video._id %>?_method=DELETE" method="POST">
<button type="submit" class="btn btn-danger">Delete video</button>
</form>
用于更新表格
<form method="POST" action="/videos/<%= video._id %>?_method=PUT">
<input type="hidden" name="_method" value="PUT">
</form>
我搜索了很多地方,当我点击提交按钮时仍然出现网页未找到(404)错误。我缺少什么?提交按钮应该调用我在 中展示的两个方法index.js。
梵蒂冈之花
哔哔one
胡说叔叔
相关分类