• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 서버 get 요청 경로 질문드립니다.

서버 get 요청 경로 질문드립니다.

5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 글쓴이
  • #25466

    장경민
    참가자

    링크가 이동될때 새로고침없이

    리액트 에서 라우팅 될 수 있게 서버.js 속 경로를 아래같이 작성하였습니다.

    1.

    app.get('*', function (요청 , 응답) {
      응답.sendFile( path.join(__dirname, 'new/build/index.html'));
    });

    그런데 예를 들어 /list 라는 경로로 get 요청을 하여 데이터를 넣기로 한다면 

    get요청 자체가 되지않는것같습니다.

     

    해결을 위해 시도해 본 방법으론 아래같이 작성하고

    2.

    app.get('/', function (요청 , 응답) {
      응답.sendFile( path.join(__dirname, 'new/build/index.html'));
    });

    app.get('/list', function (요청 , 응답) {

      db.collection("post").find().toArray((에러, 결과) => {
          응답.send(결과);
        });

    });

    이렇게 되면

    1번의 경우는 데이터를 받아오지 못하고 

    2번의 경우 get요청후 잘 받아오지만  새로고침을 할때 마다  받아온 데이터가 화면에 나오게 되는데

    경로설정을 어떻게 수정하면 새로고침 없이 get요청이 잘 될수있을까요

     

     

    요약)

    app.get('*', function (요청 , 응답) {
      응답.sendFile( path.join(__dirname, 'new/build/index.html'));
    });

    '*' 괄호 속 별 기호 때문에 주소창에 /list 라고입력해도 get 요청이 되지않고

    그렇기에 데이터도 받아오지못하고있습니다

    서버에서 경로이동을 리액트 라우팅으로 전임하고싶은데.

    그러기 위해서는 어떻게 수정하여하는지 알고싶습니다.

    #25478

    codingapple
    키 마스터

    app.get('/list', 어쩌구를 더 위로 옮겨봅시다 

    #25481

    장경민
    참가자

    app.use( express.static (path.join(__dirname,'new/build')))

    app.get("/list", function (req, res) {
      db.collection("post").find().toArray((에러, 결과) => {
          res.send(결과);
        });
       
    });
    app.get('*', function (요청 , 응답) {
      응답.sendFile( path.join(__dirname, 'new/build/index.html'));
    });

    순서를 바꾸면 잘불러오긴하나 새로고침시 데이터만있는 화면으로 출력됩니다 ㅠㅠ

    #25495

    codingapple
    키 마스터

    /list 페이지를 주소창에 입력해서 방문해서 데이터가져오는게 아니라

    리액트에서 ajax get요청만 해서 데이터가져오면 됩니다 

    #25629

    장경민
    참가자

    답글 이해해서 수정하여 해결했습니다 감사합니다

     

5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠