我无法从req.body获取正确的数据
当我向服务器提取请求时,我会在我的控制台中获取此信息(例如:'洗碗'作为输入的值)
// console log
{}
{ item: 'Wash dishes' }
首先是空对象,然后是我指定的项目。
html文件
<form autocomplete="off" id="formform" method="POST">
<input type="text" name="item" placeholder="Add new item..." required id="inputinput" >
<button type="submit">Add Item</button>
</form>
测试-W-fetch.js
let newForm = document.getElementById('formform');
newForm.addEventListener('submit', (evt) =>{
let item = document.getElementById('inputinput');
let todo = {item: item.value};
fetch('/todo', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: todo
}).then( (response) => {
return response.json();
}).then((data) =>{
location.reload();
}).catch((err) =>{
console.log(`There's an ${err}!!`);
});
return false;
});
这是我在服务器上的POST路线
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.post('/todo', (req, res) => {
// Need to get data from the view and add it to mongodb
console.log(req.body);
let newItem = new Todo(req.body);
newItem.save( (err, data) =>{
if (err) throw err;
res.json(data);
});
});
我尝试过的其他选项是对错误检查req.body.item属性,将其存储到新对象中,并将其传递给数据库,但空对象仍然通过正文并保存到数据库< / p>