Javascript 如何使用NodeJS从html表单执行补丁请求?

Javascript 如何使用NodeJS从html表单执行补丁请求?,javascript,html,node.js,mongodb,forms,Javascript,Html,Node.js,Mongodb,Forms,这是我试图通过nodejsapi对从前端到MongoDB数据库的HTML表单执行补丁请求的尝试 这是一个NodeJSAPI结构 app.route/requests/:rollno .getfunctionreq,res{ //get方法来查找查询 } .patchfunctionreq,res{ 请求更新{ rollno:req.params.rollno }, { $set:req.body }, 函数器{ 如果{ res.send已成功更新请求; }否则{ senderr案; } } ;

这是我试图通过nodejsapi对从前端到MongoDB数据库的HTML表单执行补丁请求的尝试

这是一个NodeJSAPI结构

app.route/requests/:rollno .getfunctionreq,res{ //get方法来查找查询 } .patchfunctionreq,res{ 请求更新{ rollno:req.params.rollno }, { $set:req.body }, 函数器{ 如果{ res.send已成功更新请求; }否则{ senderr案; } } ; }; 在窗体的前端

<%- include('partials/header') %>
<h1>Recent requests</h1>
<% for(let i = 0; i < posts.length; i++) { %>
<article>
    <form action="/requests/21" method="PATCH">
      <input type="text" name="status[0]">
      <div id="participant"></div>
      <br>
      <button type="button" onclick="addParticipant()">Add</button>
      <button type="button" onclick="delParticipant()">Remove</button>
      <div class="btn-block">
        <button type="submit" href="/success">Submit Request</button>
      </div>
    </form>
</article>
<% } %>

表单实际上并没有更新实际服务器上的信息。但是随着邮递员的到来,数据也在不断更新。对于同样的问题,最好的解决方案是什么,或者有没有其他方法

<form action="/requests/B194057EP" method="PATCH">
这是无效的,HTML表单方法属性仅支持GET和POST方法。是无效的HTML,将被视为GET请求

现在要解决这个问题,您可以使用jQueryAjax将数据从客户端发送到后端

$.ajax({
    url: '<api url>',
    type: 'PATCH',
    data: {
        data: sendData
    },
    success: function () {
    }
})
;

在vanilla JS中,您可以使用承诺,也可以使用async/await,这是一个基本的例子

async patching() {
  const responseFlow = await fetch(URL, {
   method: "PATCH",
   headers: {  
    'Content-Type': 'application/json'
   },
   // The content to update
   body: JSON.stringify({
     name: "New name"
   })
 })
}