개발자
안녕하세요 대학 동기와 미니 프로젝트를 진행중인 학생입니다. 친구는 리엑트를 이용한 프론트엔드를 저는 스프링부트를 이용한 백엔드를 맡고 있습니다. 본론으로 들어가자면 현재 프론트 측에서 성향테스트 답변들을 json으로 백엔드에 넘겨주면 백엔드는 이를 분석해 mbti 명을 반환해줍니다. 이때 요청은 post형식의 /api/mbti로 통일했는데 응답 이후 똑같은 post형식의 /api/(리턴된 mbti명)으로 요청이 들어오고 있습니다. 왜 한번더 의도하지않는 요청이 가는지 그리고 왜 리턴된 값으로 요청이 가는지를 모르겠습니다.. 프론트엔드 오류 코드는 다음과 같습니다.
1export default function Resultpage(){
2 const location = useLocation()
3 const mbtilist = location.state.sellist
4
5 useEffect(() => {
6 console.log(23)
7 axios({
8 method : 'post',
9 url : '/api/mbti',
10 data : mbtilist
11 })
12 .then(res => {
13 console.log(17)
14 console.log(res)
15 }
16 )
17 .catch(err => {
18 console.log(err)
19 console.log(24)
20 })
21 },[])
22
23 return(
24 <div className="resultpagebox">
25 <div className="result">
26 <h2 className="result-title">당신과 어울리는 두부는</h2>
27 hihi
28 </div>
29 </div>
30 )
31}
답변 2
axios를 요청하는 페이지에서 f12 또는 개발자도구 -> 네트워크 탭 -> Fetch/XHR을 눌러ㅠ 어디서 어떤 호출이 일어나는지 먼저 확인해 보면 해결에 도움이 될 것 같습니다
익명
작성자
2023년 10월 03일
호출을 말씀하신게 어떤 의미신가요? 본문에는 post형식의 요청이 한번 더 가서 오류가 난다고 적었는데 말씀해주신 Feth/XHR에는 똑같은 post 요청 에러만 볼 수 있었습니다..
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2023년 10월 02일
작성하신 코드에서는 axios로 서버에 요청을 보내고 그 응답을 콘솔에 찍어주는 것 까지만 확인이 됩니다. 여기서는 후속 작업으로 다시 POST 요청을 보내는 부분이 보이지 않습니다. 문제의 원인은 아마도 이후 발생하는 '/api/(리턴된 mbti명)' 이라는 요청과 관련되어 있을 것 같습니다. 백엔드에서는 단순히 mbti 결과를 반환만 해주거나, 클라이언트가 추가적으로 요청을 하도록 하는 리다이렉션 등의 동작을 수행하고 있지 않은지 확인해보셔야 합니다. 또한, `/api/mbti` 요청에 대한 응답 내용 또한 확인해보셔야 할 것 같습니다. 만약 해당 응답이 자동으로 브라우저를 리디렉트하도록 설정되어 있다면, 그것이 문제의 원인일 수 있습니다. 마지막으로, React 컴포넌트 내부 혹은 다른 부분에서 `,[]` 에서 동작하는 `useEffect` 외의 다른 곳에서 `/api/(리턴된 mbti명)` 으로 요청을 보내는 코드가 있는지 확인해볼 필요도 있습니다. 결론적으로, 제공된 정보만으로 정확한 문제의 원인을 파악하기는 어렵습니다. 위에 제안한 내용을 바탕으로 코드 전반적인 검토를 해보시거나, 추가적인 정보를 제공해주시면 보다 정확한 도움을 드릴 수 있을 것 같습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!