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

home2 게시판 Node.js, Express 게시판 검색기능 만들기 1 : URL query string 질문

검색기능 만들기 1 : URL query string 질문

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

    곽범근
    참가자
    이전 강의들은 모두 잘 구현했는데
    검색하면 url 바뀌는 것 까지는 되는데 검색할 때 터미널에서 제목에 맞는 데이터가 표시되지 않습니다. 
    db를 불러오지 못하는 것 같은데 도움 요청해 봅니다.
    
    list.ejs-------------------
    
    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css" integrity="sha384-xOolHFLEh07PJGoPkLv1IbcEPTNtaed2xpHsD9ESMhqIYd0nLMwNLD69Npy4HI+N" crossorigin="anonymous">
        <link rel="stylesheet" href="/public/main.css">
        <title>Hello, world!</title>
      </head>
      <body>
        <%- include('nav.html')%>
        <h4 class ="ml-2 my-3 text-center">서버에서 가져온 할일 리스트</h4>
        <div class="container input-group mb-2">
          <input class="form-control" id="search-input">
          <button class="input-group-append btn btn-danger" id="search">검색</button>
        </div>
        
        <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
        <script>
          $('#search').click(function(){
            var 입력한값 = $('#search-input').val();
            window.location.replace('/search?value=' + 입력한값)
          });
        
        </script>
      <div class="container">
        <ul class="list-group">
          <% for (var i = 0; i < posts.length ; i++){ %>
          <li class="list-group-item">
            <p>글번호 : <%= posts[i]._id %></p>
            <h4>">할일 제목 : <%= posts[i].제목 %></h4>
            <p>할일 마감날짜 : <%= posts[i].날짜 %> </p>
            <button class="btn btn-danger delete" data-id = "<%= posts[i]._id %>">삭제</button>
         

          <% } %>    

      </div>    

        <script>
          $('.delete').click(function(e){  // class명이 delete인 요소를 클릭하면
            var 글번호 = e.target.dataset.id;   // 누른 요소의 data-id
            var 지금누른거 = $(this);
            $.ajax({  // ajax 코드 실행
              method : 'DELETE',
              url : '/delete',
              data : {_id : 글번호}
            }).done(function(rs){
              // 페이지를 강제로 새로고침
              // 삭제버튼을 누른
    요소를 제거해주세요/안보이게 -> 이게 더 간지
                console.log('성공했어염') // 브라우저 콘솔창
                지금누른거.parent('li').fadeOut();
              }).fail(function(a, b, c){  // a, b, c = xhr, textStatus, errorThrown
                console.log(a, b, c);
              });
            });
        </script>
      
        <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous"></script>
      </body>
    </html>
    
    
    
    server.js-----------------
    .. 코드 생략
    app.get('/search', (req, res)=>{
      console.log(req.query);
      })
    
    
    
    
    		
    	
    #96321

    codingapple
    키 마스터
    app.get('/search' 기능에 req.query 내용 가지고 있는 document 찾아오라고 코드추가하면 될듯요
    #96336

    곽범근
    참가자
    어찌하다 보니까 해결했습니다 쓰앵님 감사합니다
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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