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

home2 게시판 Node.js, Express 게시판 글 수정 기능 강의 "cannot put"

글 수정 기능 강의 "cannot put"

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

    김윤하
    참가자
    안녕하세요.
    아래는 제 코드입니다.
    (server.js)
    
        const methodOverride = require('method-override')
        app.use(methodOverride('_method'))
    
    app.put('/edit', function(요청, 응답){
        db.collection('post').updateOne({ _id : parseInt(요청.body.id)}, 
        {$set : {제목 : 요청.body.title, 날짜 : 요청.body.date}}, function(에러, 결과){
            console.log('수정완료')
            응답.redirect('/list')
        })
    })
    
    (edit.ejs)
    
    <div class="container mt-3">
          <form action="/edit?_method=PUT" method="POST">
            <div class="form-group">
              <label >할일</label>
              <input type="text" value="<%= post._id %>" name="id" style="display: none;">
              <input value="<%= post.제목  %>" type="text" name="title" class="form-control">
            </div>
            <div class="form-group">
              <label>due date</label>
              <input value="<%= post.날짜  %>" type="text" name="date" class="form-control" >
            </div>
            
            <button type="submit" class="btn btn-danger">Submit</button>
          </form>
        </div>
    
    edit페이지에서 Submit버튼을 누르면 "Cannot PUT /edit"이라는 에러가 뜹니다.
    method-override라이브러리 설치하고 상단에 코드도 입력했는데 왜 put요청이
    되지 않는지 이해가 되지 않습니다... 도와주세요..ㅠㅠ
    #44464

    codingapple
    키 마스터
    app.put('/edit' 위치를 더 밑으로 옮기거나 
    껐다켜봅시다
    #44488

    김윤하
    참가자
    답변주셔서 감사합니다.
    app.put 는 맨 아래에 또, visual studio code도 껐다 켰는데도 에러가 똑같이 발생합니다.
    app.put을 post로 바꾸니 정상적으로 작동이 되는데 상관 없는걸까요??
    #44509

    codingapple
    키 마스터
    put으로 이쁘게 쓰고싶을 때 쓰는거라 post로 처리해도 상관없습니다
    #44512

    김윤하
    참가자
    감사합니다!!!!!!
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 호 / 개인정보관리자 : 박종흠