使用 axios 库通过获取请求将数据从反应发送到节点

Sending data from react to node by get request using axios library

我处理了一个问题超过 3 个小时,我想做的是使用 axios 库从 react 向 nodejs 发送一个获取请求,我想将一些数据传递到这个请求中,正如我们所知get 请求没有正文,所以我将数据作为查询参数发送,就像那样

    // base URL
    const url = "http://localhost:8080/loginAsTeacher";
    if(loginAs === "loginTeacher"){
        axios.get(url,{ 
            params :{
                email: "abc123@gmail.com",
                password: "abc1234*"
            }
        })
        .then(res => console.log(res)) // this line return status:200 and data:null
        .catch(err => console.log(err.message))
    }

所以这个请求成功了,但问题是电子邮件和密码没有传递到后端

router.get("/loginAsTeacher", async (req,res)=>{
    // values coming from the client
    const loginEmail = req.params.email;
    const loginPassword = req.params.password;
    console.log(req.params); // this line return {} empty object
    // get data of that user by his/her mail
    const teacherData = await myModel.findOne({
        email: loginEmail
    }).exec()
    res.status(200).json({
        status: 200,
        data: teacherData
    })
}) 

上面的console.logreturn是一个空对象,也就是说没有参数

这不是正确的解决方案吗???

感谢阅读

要获取您的查询,您需要获取 req.query 而不是 req.params

顺便说一句。通过 get 发送敏感数据是危险的。它甚至可以通过 https

以明文形式登录

使用 req.query 而不是 req.params。它将解决问题