Node.js 如何使用Node/Express和AJAX发送表单删除请求?

Node.js 如何使用Node/Express和AJAX发送表单删除请求?,node.js,ajax,express,Node.js,Ajax,Express,我正在尝试用NodeJs和Express构建一个restapi(我是一个编程新手),CRUD请求在Postman中工作得很好,但是现在我不知道如何使用AJAX通过表单发送删除请求。我只想在文本输入中插入一个id,并将其提交给服务器以删除MongoDB中的文档。我到处找,但我不知道该怎么做 App.js app.delete('/delete/:id',(req,res)=>{ 设id=req.params.id; 如果(!ObjectID.isValid(id)){ 返回res.status(

我正在尝试用NodeJs和Express构建一个restapi(我是一个编程新手),CRUD请求在Postman中工作得很好,但是现在我不知道如何使用AJAX通过表单发送删除请求。我只想在文本输入中插入一个id,并将其提交给服务器以删除MongoDB中的文档。我到处找,但我不知道该怎么做

App.js

app.delete('/delete/:id',(req,res)=>{
设id=req.params.id;
如果(!ObjectID.isValid(id)){
返回res.status(400.send();
}
Blog.findbyidandrove(id)。然后((文档)=>{
res.status(200).send({docs})
}).catch((e)=>{
资源状态(400)
});

});HTML表单不支持PUT或DELETE方法,但节点应用程序有如下解决方法

您的表单应该有一个隐藏字段,显示您正在发出如下删除请求:

<html>
<head>
<meta charset="utf-8">
<title>Titolo</title>
</head>
  <body>
<form action='/delete/:id' method="POST">
  <input type="hidden" name="_method" value="PUT"/>
  <input id="id" type="text" name="id" /><br />
  <button id:"cancella" type="submit">Submit</button>
</form>

<script src="/js/jquery.js"></script>
<script src="/js/script.js"></script>
</body>
</html>

蒂托洛

提交

如果要发送删除请求,则不再需要使用
/delete
,因为它是多余的。

如果要通过将表单通过Ajax提交到App.js文件来发送删除请求,请首先生成Html表单,生成Ajax脚本,最后在App.js文件中生成一个路由,以侦听您的删除请求。这样做

HTML中



提交
您也可以在html中使用它。它工作正常,但 表单必须传递一个动态id


蒂托洛
提交

您的表单有一个POST方法,我不确定HTML表单是否支持DELETE方法。
**action='/delete/:thisIsDynamicId'**
<html>
      <head>
        <meta charset="utf-8">
        <title>Titolo</title>
      </head>
      <body>
        <form action='/delete/:thisIsDynamicId' method="POST">
          <button id:"cancella" type="submit">Submit</button>
        </form>
    
        <script src="/js/jquery.js"></script>
        <script src="/js/script.js"></script>
      </body>
    </html>