前置代码-
useEffect(() => {
const data = {userId: item.userId};
const fetchDetails = async (data) => {
try {
const res = await axios.get('http://localhost:5000/user/getNameAvatar',data);
console.log(res);
} catch (error) {
console.log(error);
}
};
fetchDetails(data);
}, []);
后台编码-
export const getUserNameAvatar = async(req,res) => {
try {
const {userId} = req.body;
console.log(userId);
const user = await User.findById(userId);
return res.status(200).json({userName:user.userName,avatarUrl:user.avatarUrl});
} catch (error) {
return res.status(500).json({message: 'some internal error'});
}
};
错误:-当我在backened中安慰userId时,它显示undefined
我也试过使用params添加数据,但也显示错误。
2条答案
按热度按时间8wtpewkr1#
Axios不会将body附加到GET请求中。实际上,您将数据传递给
config
对象,并且不会将其发送到服务器。相反,您可以在前端将userId作为查询参数传递:然后从后端开始:
pengsaosao2#
你应该在后端使用某种类型的body解析器。refer this image。虽然我直接在loginRoute上使用了它,但你可以直接在主文件中挂载它。例如:app.use(jsonParser)