<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가 랜더링이 안되는 이유가 뭔가요?