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

home2 게시판 Node.js, Express 게시판 POST요청 다른 페이지 링크 하는법

POST요청 다른 페이지 링크 하는법

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

    박승은
    참가자
    강의에서는 
    
    app.post('/add', function(req, res){
        res.send('전송완료')
    
    이렇게 /add 페이지에서 메시지를 보내게 하셨는데 
    
    예를들어 index 페이지와 연결하고 싶은경우 
    
    app.post('/', function(req, res){
        res.render('index.ejs')
    
    이렇게 하면 오류가 나는데 어떻게 코딩해야 하나요?
    #46131

    codingapple
    키 마스터
    저렇게 만들어놨으면 / 경로로 post요청하면 res.render('index.ejs')가 실행됩니다
    #46141

    박승은
    참가자
    그래서 원하는 페이지로 링크하려면 form action에
    /원하는링크 적고 
    
    app.post('/원하는링크', function(req, res){
    res.render('링크파일.ejs')

    이거 아닌가요? 계속 오류가 나서 이유를 모르겠습니다 ㅠ

    #46151

    codingapple
    키 마스터
    무슨오류입니까
    그냥 일반 페이지이동은 <a href="/"> 태그 쓰면 됩니다
    #46162

    박승은
    참가자
    아 죄송합니다 질문 바꾸겠습니다
    
    post요청으로 글을 쓰면 그 글 상세페이지로 이동시키려고 하는데요
    
    글쓰기 페이지는 write.ejs 상세페이지는post.ejs 글이 저장된 db명은 list 입니다
    
        <form action="/post/<%= Post[i]._id%>" method="POST">
            <div class="form-group">
                <label for="" class="label-title">제목</label>
                <input type="text" class="input-title" name="title" placeholder="제목을 입력하세요">
            </div>
            <button type="submit" id="submit">완료</button>
        </form>
    ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
    app.get('/write', function(req,res){
        db.collection('list').find().toArray(function(error,result){
            res.render('write.ejs', { Post: result});
        });
    })
    
    
    app.post('/post/:id', function(req, res){
        res.render('post.ejs')
        db.collection('counter').findOne({name : '게시물갯수'}, function(error, result){
            console.log(result.totalPost)
            var 총게시물갯수 = result.totalPost;
            
            db.collection('list').insertOne( {_id : 총게시물갯수 +1, 제목 : req.body.title}, function(error,result){
                db.collection('list-counter').updateOne({name:'게시물갯수'},{$inc : {totalPost:1}},function(error,result){
                    if(error){return console.log(error)}
                })
            });
        
        });
    });
    
    
    app.get('/post/:id', function(req,res){
        db.collection('list').findOne({_id : parseInt(req.params.id)}, function(error,result){
            console.log(result)
            res.render('post.ejs', { data : result });
        })
    });
    이렇게 하면 에러가 나는데 이유를 모르겠습니다..
    
    
    		
    	
    #46186

    codingapple
    키 마스터
    res.render('post.ejs')를  if(error){return console.log(error)} 밑으로 옮깁시다
    #46215

    박승은
    참가자
    옮겼는데 Cannot GET /write 이라고 나옵니다 ㅠㅠ
     
    #46223

    codingapple
    키 마스터
    그건 app.get('/write', 이런 코드가 없다는 에러라 하나 만들어주면 됩니다
8 글 보임 - 1 에서 8 까지 (총 8 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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