React how can you pass a variable to a get request


I’m trying to query from a table where the teacherId is equal to the teacherId of the person that logs in but i can’t pass that teacherId from the front end to the back end.

This is the back end

app.get("/api/get", async(req,res) => {
    const teacherId = req.body.teacherId
        "SELECT class FROM homework WHERE teacherID = ?",
        (err, result) => {
            if (result){
                res.send({ message: result })
            } else{

This is the front end

 useEffect(() => {
        Axios.get("http://localhost:1337/api/get", {
            teacherId: teacherId
        }).then((response) => {
            } else{
const teacherId = localStorage.getItem("teacherId")

I think the problem lies where it says teacherId: teacherId but i don’t why.

>Solution :

You need to use

Axios.get("http://localhost:1337/api/get", {
     params: { teacherId }

and use req.query.teacherId to read it

If you see the Axios.get signature it is

axios.get(url[, config])

in contrast to[, data[, config]])

which passes the data as the second argument.

That is because the body in GET requests is not used by the servers. Read HTTP GET with request body for more on this.

Leave a ReplyCancel reply