Javascript 为什么表单体在PUT请求时返回null?
为什么表单数据没有存储在req.body中 EJS/HTMLJavascript 为什么表单体在PUT请求时返回null?,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,为什么表单数据没有存储在req.body中 EJS/HTML <form onsubmit="EditJob()" class="editForm"> <div class="form-group-edit"> <label for="position">Position</label> <input type="position" id="position" name="position" cla
<form onsubmit="EditJob()" class="editForm">
<div class="form-group-edit">
<label for="position">Position</label>
<input type="position" id="position" name="position" class="form-control" placeholder="Enter Position Title"
/>
</div>
<div class="form-group-edit">
<label for="company">Company</label>
<input type="company" id="company" name="company" class="form-control" placeholder="Enter Company Name"
/>
</div>
<button type="submit" class="edit">
<i class="fas fa-plus"></i>
</button>
</form>
服务器JS
router.put("/:id", (req, res) => {
Job.findByIdAndUpdate(req.params.id, {
position: req.body.position,
company: req.body.company,
status: req.body.status
})
...
...
});
“我的数据库”中更新的文档将导致{position:null,company:null,status:null}..请确保您使用的是正文解析器,或者像下面的代码一样设置express中间件:
app.useexpress.json
app.useexpress.urlencoded{extended:true}
⚠️ 使用axios.put时,请确保将数据传递到其中。您可以阅读文档
例如:Axios Put
axios.putendPoint、数据、配置然后…捕获。。。
我希望它能帮助您。OP的问题是第二件事。您必须使用axios.put发送数据。
router.put("/:id", (req, res) => {
Job.findByIdAndUpdate(req.params.id, {
position: req.body.position,
company: req.body.company,
status: req.body.status
})
...
...
});