react & node.js 개발 -get요청으로 서버에 데이터 보내는 방법

get요청으로 단순히 다음과 같이 데이터를 보내면..

 

서버가 데이터를 받지 못한다

 

//client

const data = {id:state};

const response = await axios.get('/get/one',data)

 

서버에서 다음과 같이 data를 받아본다면...

 

//server.js

app.get('/get/one', (req,res) => {

    console.log(req.body)

})

 

data를 받을 것으로 기대되는데 실제로 아무것도 찍히지 않는다

 

 

 

get요청으로 데이터를 보낼때는, get요청이 post와는 다르게 주소창을 통해서 데이터를 보내기 때문에

 

params라는 옵션으로 다음과 같이 데이터를 보내줘야한다고 한다

 

//client

const response = await axios.get('/get/one',
{params: {id: board_id } });

 

줄때도 {params: {id:board_id}}와 같이 params에 객체를 넘겨줘야함

 

객체 말고 단순히 변수 board_id 이런거 넘겨주면 못읽더라

 

아무튼 서버에서는 req.body로 읽는게 아니고 req.query로 읽어야함

 

//server.js

app.get('/get/one', (req,res) => {

    console.log(req.query)

})

 

 

이러면 아까와는 다르게 데이터가 로그에 정상적으로 찍힌다

 

 

 

 

참조

 

[Axios] get 요청 시 Query Params 보내기 (에러핸들링) (tistory.com)

 

[Axios] get 요청 시 Query Params 보내기 (에러핸들링)

프로젝트 중 axios를 통해 get 요청 시 에러가 발생했다. request body로 데이터를 보냈더니 에러가 발생하여, Query Params 를 통해 데이터를 전송하여 문제를 해결했다. Error 세부사항 - 상황 : 클라이언

jacobgrowthstory.tistory.com

 

 

728x90