在线聊天不存储消息"/>
在线聊天不存储消息
[您好,我正在尝试将消息存储在数据库中,以便当用户再次重新加载页面时可以显示消息。用户和日期已存储,但未存储发送的消息。谁能指出我错过的事情?
(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
});
}
});
});
回答如下:糟糕的错字..我糟糕的存储了错误的变量..
chat.user = req.body.name;
chat.message = req.body.chat;
更多推荐
在线聊天不存储消息
发布评论