Привет. Я пытаюсь сохранить сообщения в своей базе данных, чтобы я мог отобразить сообщения, когда пользователь снова перезагрузит страницу. Пользователь и дата сохраняются, но отправленные сообщения не сохраняются. Кто-нибудь может указать, что я пропустил?
(main.js)
$(document).ready(function(){
var socket = io();
socket.on('chat', addChat);
getChats();
$('#send').click(()=>{
var chatMessage = {
name: $('#txtName').val(),
chat: $('#txtMessage').val()
}
postChat(chatMessage);
});
function postChat(chat){
$.post('http://localhost:3000/chats', chat);
}
function getChats(){
$.get('/chats', (chats)=>{
Object.keys(chats).forEach(function(chats){
chats.addChat;
});
});
}
function addChat(chatObj){
$('#messages').append(`<h5>${chatObj.name} </h5><p>${chatObj.chat}</p>`);
}
});
(app.js)
app.post('/chats', async(req, res)=>{
try{
let chat = new Chat();
chat.user = req.body.name;
chat.message = req.body.message;
await chat.save();
res.sendStatus(200);
io.emit('chat', req.body);
}
catch(error){
res.sendStatus(500);
console.error(error);
}
});
app.get('/chats', (req, res)=>{
Chat.find({}, (error, chats)=>{
if(error){
console.log(error);
}
else{
res.render('chat',{
chats: chats
});
}
});
});