参数?"/>
如何通过axios get方法在react中发送参数?
我有一个axios GET方法,我需要在get请求中传递参数。我这样在客户端(React.js)中调用GET方法,
const [Cart] = useState([]);
const user = {
userId : session.userId
};
console.log(user);
useEffect((user) => {
if(session.userId !== null){
//Axios.get('http://localhost:5000/api/cart/getCart', user) <- I tried both these ways
Axios({
method: 'GET',
url: 'http://localhost:5000/api/cart/getCart',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
data: {},
params: {
"userId" : session.userId
}
})
.then(res => {
const cart = res.data;
let tempProducts = [];
cart.data.forEach(item => {
const singleItem = {...item};
tempProducts = [...tempProducts, singleItem];
});
this.setState(() => {
return {Cart: tempProducts};
});
})
}
console.log(Cart)
});
但是在服务器端(node.js),它没有获取参数值。
router.get('/getCart', (req, res) => {
console.log(req.body.userId) //This gives the output as undefined
User.findOne({_id: req.body.userId}
,(err, userInfo) => {
res.json(userInfo.Cart);
})
});
我通过参考this实现了未注释的axios.get请求。您能帮我找到错误吗?还是可以建议我其他方法来做到这一点?谢谢
回答如下:UseEffect:
axios.get('/api', {
params: {
foo: 'bar'
}
});
服务器:
function get(req, res, next) {
let param = req.query.foo
.....
}
更多推荐
如何通过axios get方法在react中发送参数?
发布评论