반응형
조회수 늘리는 것 처럼 하면 된다.
showpost.ejs
글 삭제 버튼과 전달할 파라미터 설정
<form method="post" action="/process/deletepost">
<input type="hidden" name = "id" value = "<%=posts._id%>">
<input type = "submit" value= "글 삭제">
</form>
routes/post.js
글 삭제 메소드 추가
메소드로 정의해놓은 load로 글 가져와서 delete()로 삭제 후,
파라미터와 함께 redirect
// 해당 포스트 삭제
var deletePost = function (req, res) {
...
if (database) {
database.postModel.load(paramId, function (err, result) {
if (err) {
..
}
if (result) {
// 글 삭제
result.delete();
console.log('글 삭제됨 ');
// page, perpage 파라미터 전달 후
// 리스트 조회
res.redirect('/process/listpost?page=0&perPage=5');
}
})
더보기
// 해당 포스트 삭제
var deletePost = function (req, res) {
console.log('post.js의 deletepost 호출됨');
var paramId = req.body.id || req.query.id || req.params.id;
console.log('요청 파라미터 : ' + paramId);
var database = req.app.get('database');
if (database) {
database.postModel.load(paramId, function (err, result) {
if (err) {
console.log('삭제할 글 조회 중 오류 발생 ' + err.stack);
res.writeHead('200', {
'Contett-Type': 'text/html;charset =utf8'
});
res.write('<h2>삭제할 글 조회 중 오류 발생</h2>')
res.end();
return;
}
if (result) {
// 글 삭제
result.delete();
console.log('결과 :' + result);
console.log('글 삭제됨 ');
console.log('////////////////////////');
// page, perpage 파라미터 전달 후
// 리스트 조회
res.redirect('/process/listpost?page=0&perPage=5');
}
})
} else {
res.writeHead('200', {
'Content-Type': 'text/html;charset=utf8'
});
res.write('<h2>데이터베이스 연결 실패</h2>');
res.end();
}
}
module.exports.deletepost = deletePost;
config.js 도 수정하고
type은 post로 !
module.exports = {
...
route_info : [
...
// have to 'post!!'
{file:'./post', path:'/process/deletepost', method:'deletepost', type: 'post'}
]
}
반응형
'IT > web' 카테고리의 다른 글
Node.js] xml, rss 파싱 (0) | 2020.02.18 |
---|---|
Node.js] 게시판 만들기4 / 글 수정 기능 (findByIdAndUpdate) (2) | 2020.02.14 |
Node.js] 게시판 만들기2 // 글 리스트 보기, 조회수 조회 (0) | 2020.02.12 |
Node.js] 게시판 만들기1 // 글 작성, 작성된 글 보기 (0) | 2020.02.11 |
Node.js] 구글 패스포트로 사용자 인증 (0) | 2020.02.10 |
댓글