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

home2 게시판 Node.js, Express 게시판 검색기능 url query string의 value : 'undefined'입니다

검색기능 url query string의 value : 'undefined'입니다

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

    김진호
    참가자
    { value: 'undefined' } 계속 이렇게 떠서 검색하고나면 list에 아무것도 나오지않습니다.
     
    search.ejs
    
    <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>
    
    
      <!-- Optional JavaScript -->
        <!-- jQuery first, then Popper.js, then Bootstrap JS -->
        <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"
        <h4 class="ml-2 my-3 text-center"></h4>
    <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>
    
    
    ==========================================================
    server.js
    
    app.get('/search', (요청, 응답)=>{
      console.log(요청.query);
      var 검색조건 = [
        {
          $search: {
            index: 'titleSearch',
            text: {
              query: 요청.query.value,
              path: '제목'  // 제목날짜 둘다 찾고 싶으면 ['제목', '날짜']
            }
          }
        },
      //   { $sort : { _id : 1 } },
      //   { $limit : 10 },
      //  { $project : { 제목 : 1, _id : 0, score:{$meta:"searchScore"} } }
    ] 
      db.collection('post').aggregate(검색조건).toArray((에러, 결과)=>{
        console.log(결과)
        응답.render('search.ejs', {posts : 결과})
      })
    })
    
    #92232

    codingapple
    키 마스터
    요청.query가 undefined 나오는거면 페이지 이동을 잘못한듯요 
    검색어 잘 입력하고 검색버튼눌렀나요
    #92289

    김진호
    참가자
    어디가 문제인지모르겠네요
    제대로 검색했는데 ?value undefined로뜨고 url에서도
    #92312

    codingapple
    키 마스터
    ejs 파일에 id="search-input" id="search" 다른데 또 있나 확인해보거나
    크롬콘솔창에 에러안뜨나 확인해봅시다
    #92335

    김진호
    참가자
    에러는 하나도 안뜨고 
    
    app.get('/search', (요청, 응답)=>{
      console.log(요청.query);
      var 검색조건 = [
        {
          $search: {
            index: 'titleSearch',
            text: {
              query: 요청.query.value,
              path: '제목'  // 제목날짜 둘다 찾고 싶으면 ['제목', '날짜']
            }
          }
        },
      //   { $sort : { _id : 1 } },
      //   { $limit : 10 },
      //  { $project : { 제목 : 1, _id : 0, score:{$meta:"searchScore"} } }
    ] 
      db.collection('post').aggregate(검색조건).toArray((에러, 결과)=>{
        console.log(결과)
        응답.render('search.ejs', {posts : 결과})
      })
    })
    #92336

    김진호
    참가자
    /list에서 검색하면 일단 먼저 value?undefied url로 가고 그뒤에 다시 검색하면 검색이되네요....
    /search에서 검색하면 바로 검색되고
    #92366

    codingapple
    키 마스터
    그럼 search.ejs말고 list.ejs 페이지안의 코드가 이상해서 그런가봅니다
7 글 보임 - 1 에서 7 까지 (총 7 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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