【发布时间】:2019-02-10 21:40:51
【问题描述】:
当我调度 startAddLike 时,我在服务器端得到未定义的 uid 值,即。 req.body.uid = undefined.如何解决?
动作生成器:
export const startAddLike = (id) => {
return (dispatch, getState) => {
const uid = getState().auth.uid;
axios
.post(`http://localhost:5000/api/posts/${id}/like`, uid)
.then(res => dispatch(likePost(id, uid)))
}
}
点赞路线
router.post('/:id/like', (req, res) => {
console.log(req.body.uid);
Post.findOneAndUpdate({_id:req.params.id}, {$push: {likes: req.body.uid}},{ "new": true})
.then(post => {
console.log('l'+post);
res.json(post);
})
});
【问题讨论】:
-
你使用bodyParser模块吗?
-
是
getState().auth.uid;一个对象吗? -
@ArtemArkhipov 是的,否则会出错,而不仅仅是
undefined -
@Sujoy,如果你不回复,我们真的帮不了你
-
是的。我用过身体解析器。我在发帖时效果很好。但在这种情况下,我从 req.body 得到未定义。
标签: node.js mongodb reactjs express