1
財產我已經成立了一個socketio聊天。我試圖在用戶加入頻道時顯示舊的消息(來自mongodb)。SocketIO聊天 - 不能讀取的不確定
我能加入聊天的第一次,但如果我加載頁面在新標籤我得到的錯誤「遺漏的類型錯誤:無法讀取屬性未定義‘缺口’ - 在控制檯
當我CONSOLE.LOG(data.nick + data.msg),我得到我正在尋找的數據。我想不出什麼導致這個..
請幫幫忙!
這裏的相關客戶端代碼:
socket.on('load old messages', function(data) {
for(var i=0; data.length; i++) {
displayMsg(data[i]);
}
});
function displayMsg(data) {
$chat.append('<span class="chatnick"><b>' + data.nick + ': </b></span><span class="chatmsg">' + data.msg + "</span><br/><hr>");
}
下面是相關服務器端代碼:
var query = Chat.find({});
query.sort('-created').limit(8).exec(function(err, data) {
if(err) throw err;
socket.emit('load old messages', data);
});
這裏是我的的MongoDB代碼:
mongoose.connect('mongodb://localhost:27017/chat-logs', function(err) {
if(err) {
console.log(err);
} else {
console.log("Connected to mongodb!");
}
});
var chatSchema = mongoose.Schema({
nick: String,
msg: String,
// channel: String,
created: {type: Date, default: Date.now}
});
var Chat = mongoose.model('Message', chatSchema);
編碼可以是那麼的可笑,有時..花幾個小時看着它,只能錯過的東西這麼小。謝謝! –