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

home2 게시판 Node.js, Express 게시판 '수정' 버튼 클릭시 GET 요청

'수정' 버튼 클릭시 GET 요청

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

    박도현
    참가자
    <list.ejs>
    
    $('.edit').click(function(e){
                var writeNumber = e.target.dataset.id
                var nowClicked = $(this)
                var urlId = '/edit/'+writeNumber
                console.log(urlId)
                $.ajax({
                  method : 'GET',
                  url : urlId,
                }).done(function(결과){
                }).fail(function(에러){
                
                });
            })
    
    
    <index.js>
    
    app.get('/edit/:id', function(req, res) { 
        db.collection('post').findOne({_id : parseInt(req.params.id)}, function(err, result){
            console.log(result)
            res.render('edit.ejs', {data : result})
        })
    });
    
    
    위의 코드는 list.ejs의 수정 버튼 클릭시 수정 버튼을 클릭한 요소의 수정 페이지로 들어가도록 서버에 GET 요청을 보내는 코드고,
    아래 코드는 그 요청을 받아 수정 페이지인 'edit.ejs'를 응답해주는 코드입니다.
    
    브라우저 URL 입력하는 곳에 직접 get요청의 url '/edit/3'을 입력하고 들어가면 'edit.ejs'가 잘 응답이되는데, list.ejs에서 수정 버튼 클릭시에는 list.ejs는 랜더링 되지 않습니다. 그런데 서버의 코드중 현재 수정 버튼을 클릭한 요소를 출력하는 'console.log(result)'는 잘 실행됩니다.
    ejs파일에서 요청을 할 url을 저장하는 변수 urlId도 수정 버튼을 클릭한 요소에 맞게 잘 출력됩니다. edit.ejs가 랜더링이 안되는 이유가 뭔가요?
    #93724

    codingapple
    키 마스터
    ajax요청완료시 페이지 이동시키려면 .done안에다가 window.location.href = '/url' 입력합시다
    근데 a태그쓰면 ajax는 굳이 필요없을수도요
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 호 / 개인정보관리자 : 박종흠