react中如何通过axios get方法发送参数?

Posted

技术标签:

【中文标题】react中如何通过axios get方法发送参数?【英文标题】:How to send parameters through axios get method in react? 【发布时间】:2020-08-24 22:38:24 【问题描述】:

我有一个 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请求。你能帮我找出错误吗?或者你能建议我用其他方法吗?谢谢

【问题讨论】:

【参考方案1】:

使用效果:

 axios.get('/api', 
          params: 
            foo: 'bar'
          
        );

服务器:

function get(req, res, next) 

  let param = req.query.foo
   .....

【讨论】:

以上是关于react中如何通过axios get方法发送参数?的主要内容,如果未能解决你的问题,请参考以下文章

在 AXIOS 中为 GET 方法发送请求正文会引发错误

使用 axios.get 方法加载页面时,如何仅从 API 获取数据一次?

React中的axios模块

使用 Auth Headers 发送 axios get 请求时出现 401 错误

Vue使用axios发送get请求并携带参数

axios 配置默认 GET 参数