Я пытаюсь отправить запрос POST на свой сервер, чтобы создать новый пост (заголовок, тело) и сохранить его в базе данных, и я получаю код состояния 200, однако заголовок и тело не вставляются в сообщение.
ОБНОВЛЕНИЕ: Я только что изменил return res.status(400).json({ error: errorHandler(err) })
в методе контроллера на res.send(err)
, и теперь я получаю четкое сообщение об ошибке: требуются пути заголовка и тела.
Как я могу решить эту проблему?
CreatePost. js
class CreatePost extends React.Component {
constructor(props) {
super(props)
this.state = {
title: '',
body: ''
}
}
changeHandler = (e) => {
this.setState({ [e.target.name]: e.target.value })
}
submitHandler = e => {
e.preventDefault()
axios.post(`${API}/blog/post/create`, this.state)
.then(response => {
console.log(response)
}).catch(error => {
console.log(error)
})
}
render() {
const {title, body} = this.state
return (
<div>
<form onSubmit={this.submitHandler}>
<input type="text" name="title"
onChange={this.changeHandler} value={title} />
<input type="text" name="body"
onChange={this.changeHandler} value={body}/>
<button type="submit">Submit</button>
</form>
</div>
)
}
}
export default CreatePost
контроллеров / пост. js
exports.create = (req, res) => {
let post = new Post()
post.save((err, result) => {
if(err) {
return res.status(400).json({
error: errorHandler(err)
})
}
res.json(result)
})
}
маршрутов / сообщений. js
router.post('/blog/post/create', create);