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

home2 게시판 Node.js, Express 게시판 선생님 req.query 질문있습니다.

선생님 req.query 질문있습니다.

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

    정중식
    참가자
    먼저,
    1. header.js 여기에서 쿼리를 이용해서 데이터를 받고, 성공적으로 데이터를 얻어오면
       window.location.replace('/?value=' + e.target.textContent); 를 이용해서 '/' 페이지로 갑니다.
    
    header.js 코드.
      listItems.forEach((item) => {
        item.addEventListener('click', function (e) {
          $.ajax({
            method: 'POST',
            url: `/search?value=${e.target.textContent}`,
          })
            .done((data) => {
              console.log(data);
              window.location.replace('/?value=' + e.target.textContent);
            })
            .fail((xhr, code, err) => {
              console.log(err);
            });
        });
      });
    
    
    2. 그럼 '/' 에서 
     const decodeUri = decodeURI(window.location?.search);
      fetch({
        method: 'GET',
        url: `/list/${decodeUri}`,
      })
    
    를 이용해서 데이터를 받아오면 어떨까싶어서 위와같이 코드를짜봤습니다.
    실제 url은 이런식으로 되어있구요
    http://localhost:8080/?value=하니
    
    3. 서버 코드는 이렇습니다.
    
    router.get('/list', async (req, res) => {
      try {
        const post = await Post.find({ category: req.query.value })
          .sort({ _id: 1 })
          .exec();
        console.log(post);
        // const posts = await Post.find().sort({ date: -1 });
        // res.json(posts);
        res.json('dd');
      } catch (error) {
        console.error(error.message);
        res.status(500).send('Server Error');
      }
    });
    
    혹시 이렇게 진행하는게 아닌가요?
    제가 생각했던대로하면 잘 되야하는데 .. 동작이 안되네요
    
    
     
    
    #66692

    정중식
    참가자
    해결완료..
    
    fetch에서 url전송하는게 틀렸었네요 ㅋ.ㅋ
    
      fetch(`/list/${decodeUri}`, {
        method: 'GET',
      })
    
    꼭 선생님한테 질문글 남기면 그때서야 아차 싶어서 발견한다니깐요.. ; ;
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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