是否可以从Express创建的CRUD中删除锚标记?

时间:2019-03-29 11:30:34

标签: node.js express

我正在通过Express创建一个简单的CRUD板。

我实现了CRU,但是删除功能失败。我使用Rails method='delete'作为常见的锚标记,但Express似乎不支持它。

如何激活删除链接?

app.js

...
const board = require("./routes/board");
app.use("/board", board);
...

观看次数

a(href=`/board/${board._id} method="delete"`) 삭제

路线

...
const board = require("../logic/board");
router.delete("/:id", board.delete);
...

逻辑

...
const Board = require("../db/board");

exports.delete = (req, res) =>{
  Board.findByIdAndRemove(req.params.id, err => {
    if (err) {
      return next(err);
    }
    res.redirect("/board/index");
  });
}
...

我想问。做exports.delete = () => {}和做module.exports = logic <delete, create etc...>这样的行为有什么区别?

1 个答案:

答案 0 :(得分:0)

HTML <a>锚标签没有method属性-也许您在考虑<form>标签?

  

exports.delete = () => {}和做module.exports = logic这样的行为有什么区别

区别是何时执行逻辑。 exports.delete = () => {}表单将导出您可以在将来中的某个时刻执行的函数,而module.exports = Board.findByIdAndRemove()将在以下情况下立即执行数据库查询 文件被解析(您可能不想要)。