Javascript 如何使用NodeJS从html表单执行补丁请求?
这是我试图通过nodejsapi对从前端到MongoDB数据库的HTML表单执行补丁请求的尝试 这是一个NodeJSAPI结构 app.route/requests/:rollno .getfunctionreq,res{ //get方法来查找查询 } .patchfunctionreq,res{ 请求更新{ rollno:req.params.rollno }, { $set:req.body }, 函数器{ 如果{ res.send已成功更新请求; }否则{ senderr案; } } ; }; 在窗体的前端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案; } } ;
<%- 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"
})
})
}