3
我需要roomId
(主密鑰爲auto_increment
)來查找特定房間以更新聊天信息。我現在這樣做的方式是愚蠢的。獲取Node.js中的當前聊天室ID
在,我使用roomName
從一種形式的用戶輸入來創建一個房間模型,並發現其roomId
,然後進行roomId
一個URL的PARAM:
var Room = require('../models/database').Room
exports.create = function (req, res) {
Room
.create({
room_name: req.body.roomName
})
.complete(function() {
Room
.find({where: {room_name: req.body.roomName}})
.success(function (room) {
res.redirect('rooms/videochat/' + req.body.roomName + '/' + room.room_id);
})
})
};
在
routes.js
,我搶roomId
與req.params.roomId
並把它傳遞到一個視圖文件玉所以它可以顯示視頻聊天頁面上:
app.get('/rooms/videochat/:roomName/:roomId', function (req, res) {
res.render('videochat.jade', {roomName: req.params.roomName, roomId: req.params.roomId});
});
在客戶端的JavaScript,我我們Ë
var roomId = $('#roomId span').text();
得到roomId
,然後用socket.emit傳回服務器端:
socket.emit('updateStartTime', roomId);
它不工作。現在斷開連接只發生在用戶點擊關閉窗口按鈕時。 –