首页 > 解决方案 > 是否可以从使用 Express 创建的 CRUD 中删除锚标记?

问题描述

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

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

如何激活删除链接?

应用程序.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...>

标签: node.jsexpress

解决方案


HTML <a>nchor 标签没有method属性——也许您正在考虑<form>标签?

exports.delete = () => {}做某事和做某事之间的行为有什么区别module.exports = logic

不同之处在于您的逻辑何时执行。该表单将导出一个函数,您可以在将来exports.delete = () => {}的某个时间执行该函数,而该表单将在解析文件时立即执行数据库查询(您可能不希望这样做)。module.exports = Board.findByIdAndRemove()


推荐阅读