<strong>edit 페이지에서 submit 누르고 </strong>
<strong>list 페이지에 리다이렉트해서 값이 수정된 채로 나오지 않고 있습니다.</strong>
테이블 post 컬럼 title, date로도 다 되어있고
edit 페이지에 수정된 값으로, 콘솔 찍어보면 req.body.title, req.body.date는 잘 들어오는 것은 확인하였습니다. (이미지 첨부)
value값도 잘 넣어준 것 같고...
뭐가 문제일까요?
edit.ejs
<body>
<%- include('nav.html') %>
<br />
<div class="container mt-4">
<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 type="text" value="<%=post.title%>" class="form-control" name="title">
</div>
<div class="form-group">
<label>Due date</label>
<input type="text" value="<%=post.date%>" class="form-control" name="date">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
</body>
server.js
app.get('/edit/:id', (req, res) => {
db.collection('post').findOne({_id : parseInt(req.params.id)}, (err, result) => {
console.log('edit', result)
res.render('edit.ejs', { post : result})
})
})
app.put('/edit', (req, res) => {
db.collection('post').updateOne({ _id : req.body.id}, { $set : { title : req.body.title, date : req.body.date}}, (err, result) => {
console.log('title: ', req.body.title)
console.log('date: ', req.body.date)
console.log('수정완료')
res.redirect('/list')
})
})
