html에서 Chat버튼 누르면 console.log반응도 하고. server에서 응답도 다 하는데 유독 화면만 안넘어갑니다
res.render도 안되고 redirect도 안되고.. 그러다 여러번 누르면 될때도있습니다. 도무지 이유를 모르겠습니다
크롬 개발자창에서 콘솔화면을 보면 Navigated to http://localhost:8080/list 이런식의 경고?error?가 계속 뜨면서
안넘어가네요.
vsc에서 콘솔로그 찍어둔 loggin이 수십번 찍히고나서 db데이터에 insert도 다하지만 결국 화면은 안넘어갑니다
이유가 무엇일까요? 주소창도 전혀 안바뀝니다.
========list.ejs파일입니다===
<button
class="delete btn btn-warning chatsend"
data-id="<%= posts[i].user %>"
>
chat
</button>
<script>
$('.chatsend').click((e) => {
$.post('/chatroom', { targetID: e.target.dataset.id }).then(
() => {
console.log('전송완료', e.target.dataset.id);
}
);
});
</script>
app.get('/chat', loggedIn, (req, res) => {
db.collection('chatroom')
.find({ member: req.user.id })
.toArray((err, data) => {
console.log('???');
res.render('chatroom.ejs', { data: data, user: req.user.id });
});
});
app.post('/chatroom', loggedIn, (req, res) => {
console.log(req.body.targetID, 'qweqwe');
let chatInfo = {
member: [req.body.targetID, req.user.id],
date: new Date(),
title: req.body.targetID,
};
db.collection('chatroom')
.find({ member: req.body.targetID })
.toArray((err, result) => {
if (result.length == 0) {
db.collection('chatroom')
.insertOne(chatInfo)
.then(() => {
console.log(chatInfo);
res.redirect('/chat');
});
} else {
console.log('생성실패');
res.redirect('/chat');
}
});
});