我目前正在建立一个小型聊天室。
当有人点击回车时,它应该将消息提交给服务器,如果插入成功则返回一些状态信息。
有没有办法在每个事件上返回一些数据,或者我是否必须从服务器启动另一个发送来通知客户端有关状态?
客户
$('textarea').keypress(function(e) {
if(e.which == 13) {
var msg = $.trim(this.value);
if(msg.length > 0) {
socket.send(msg, function() {
// Here I need to have some result
// returned by the server to notify the user
// if everything went fine
//this.value = '';
});
}
return false;
}
});
服务器
socket.on('message', function() {
db.query("INSERT INTO chat (message, ip, time) VALUES (?, INET_ATON(?), NOW())", [msg, socket.handshake.headers['x-forwarded-for'] || socket.handshake.address.address], function(error) {
if(!error) {
io.sockets.send(msg);
} else {
console.log(error);
}
});
});