我删除对象的链接给我404,当我单击链接时,它转到localhost:3000 / account / 5cf3ea30a19df73f449e72f2 / delete,但只是给了我404,但是在邮递员中,当我输入网址完全相同,效果很好。
exports.deleteAccount = (req, res) => {
Accounts.findByIdAndRemove(req.params.id, (err) => {
if (err) return next(err);
res.send('Deleted successfully!');
});
};
const express = require('express');
const router = express.Router();
const accountController = require('../controllers/accounts-controller')
router.post('/add', accountController.addAccount);
router.delete('/:id/delete', accountController.deleteAccount);
module.exports = router;
a(href="/account/5cf3ea30a19df73f449e72f2/delete") Delete
答案 0 :(得分:1)
您的代码运行正常。
在网络浏览器中键入URL时,它总是发送GET请求以“获取”页面。当您在浏览器中输入http://localhost:3000/account/5cf3ea30a19df73f449e72f2/delete时,您正在尝试“获取”该资源。由于您仅指定/:id/delete
路由来匹配包含DELETE
标头的请求,因此您得到的是404。
要了解有关HTTP请求方法及其含义的更多信息,请查看mozilla developer network
上的文档