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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以从使用Express创建的CRUD中删除锚标记?相关的知识,希望对你有一定的参考价值。

我正在通过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...>这样的事情之间的行为有什么不同?

答案

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

exports.delete = () => {}和做像module.exports = logic之类的事情之间的行为有什么不同

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

以上是关于是否可以从使用Express创建的CRUD中删除锚标记?的主要内容,如果未能解决你的问题,请参考以下文章

CRUD RESTful API(Node.js,Express,Mongodb)中的删除错误

创建 CRUD 视图而不创建控制器

XSLT 转换从混合内容中删除 HTML 元素

如何从 URL 中删除锚标记?

R操作MySQL数据库创建表删除表增删改查(CRUD)

从当前 url 追加/删除锚名称而不刷新