• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

백엔드와 프론트엔드 연동 질문

24.05.10 13:47 작성 조회수 68

0

 이전 수업의 마지막 부분에서 백엔드를 프론트에 연결하여서 결제를 하였음에도 불구하고, db에 데이터가 쌓이지 않습니다.
그래프ql을 통해 백엔드 자체적으로 데이터를 보냈을 때는 정상적으로 db에 데이터가 들어가는것을 보면, 백엔드쪽 문제는 아닌거 같고 프론트와 연동할 때 무슨 문제가 있는거 같은데 에러 메시지가 나오는것도 아니고, 결제 완료라는 알림은 뜨지만 데이터가 들어가지 않으니 해결이 난해한 상황입니다.
코드를 두번 세번 확인해보아도 선생님의 코드와 다를 것이 없고, 저 또한 문제를 모르겠는데 혹시 이러한 경우의 해결을 알고 계실가요? ㅜㅜ

답변 1

답변을 작성해보세요.

0

안녕하세요! edu님!

graphql 플레이그라운드에서는 결제요청이 잘 되는데,
브라우저에서는 결제요청에 실패하였으나, 결제완료라는 성공메시지만 나오고 있는 경우이시군요!
그렇다면, 브라우저에서 실패했지만 메시지만 결제완료라고 나오는 것은 아닌지 확인이 필요할 것 같아요!

 

  1. 브라우저의 개발자도구에서 네트워크탭을 열어놓고, 결제요청을 하신 다음 해당 요청의 응답으로 받은 결과데이터가 무엇인지 확인해 보세요!
    2. 위 1번의 결과로도 정상을 받으셨다면, 이번에는 페이로드탭을 열어, 요청에 들어간 graphql 쿼리가 플레이그라운드에서 요청했을때의 graphql쿼리와 어떤 차이가 있는지 확인해 보세요!

edu님의 프로필

edu

질문자

2024.05.13

네, 강사님 말씀 감사합니다.
확인해보니 이미지와 같은 에러가 발생하는것을 보았습니다.
이와 같은 에러는 어떻게 해결해야할가요?

네! edu님!

에러 메시지를 읽어보면, cors 정책에 의해 block 되었다라는 것을 확인할 수 있네요!

백엔드에서 cors를 허용해주는 코드를 1줄 추가해 주셔야 할 것 같아요!

nestjs graphql cors허용 정도의 키워드로 검색해 보시면 되겠죠?!^^

edu님의 프로필

edu

질문자

2024.05.16

강사님, 해결했습니다. 감사합니다.
다른 과제에서 동일한 문제를 확인하면서 cors에 대해서 공부 할 수 있었던 기회가 되었습니다.
아직 복잡하긴 하지만 차근차근 이해해보겠습니다