Я пытаюсь отправить данные с помощью этой формы:
import React, { Component } from 'react';
class ToDoForm extends Component {
constructor(props) {
super(props);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleSubmit(event) {
event.preventDefault();
fetch('http://127.0.0.1:3000/add', {
method: 'post',
body: {
what: this.refs.what.value,
when: this.refs.when.value,
}
})
}
render() {
return (
<form onSubmit={this.handleSubmit}>
New task :
<label htmlFor="what"> Enter what</label>
<input id="what" ref="what" name="what" type="text" required/>
<label htmlFor="when">Enter when</label>
<input id="when" ref="when" name="when" required/>
<button>Send data!</button>
</form>
);
}
}
export default ToDoForm;
, но на стороне сервера я не могу получить req.body:
app.post('/add', (req, res) => {
console.log(req.body);
db.collection('task').countDocuments( (err, count) => {
if (err) console.log(err);
db.collection('task').insertOne({
id : count + 1,
what : req.body.what,
when : req.body.when,
done : false
});
});
res.send('The \"' + req.body.what + '\" task has been added.');
});
Я почти уверен, что на этот вопрос ответили многиераз, но мои навыки поиска ограничены, я думаю.Я готов изменить свой образ действий, если это не подходит.