正在Node.js中获取当前聊天室ID

正在Node.js中获取当前聊天室ID,node.js,socket.io,sequelize.js,Node.js,Socket.io,Sequelize.js,我需要roomId(一个auto_increment主键)来定位一个特定的房间以更新聊天信息。我现在做这件事的方式是愚蠢的 在createRoom.js中,我使用用户输入的表单中的roomName创建房间模型并查找其roomId,然后将roomId作为URL的参数: var Room = require('../models/database').Room exports.create = function (req, res) { Room .create({ r

我需要
roomId
(一个
auto_increment
主键)来定位一个特定的房间以更新聊天信息。我现在做这件事的方式是愚蠢的

createRoom.js
中,我使用用户输入的表单中的
roomName
创建房间模型并查找其
roomId
,然后将
roomId
作为URL的参数:

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
中,我用
req.params.roomId
抓取
roomId
,并将其传递给查看文件jade,以便它可以显示在视频聊天页面上:

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);

当用户断开连接时,需要执行以下操作

socket.emit('disconnect', roomId);

我希望这就是你所需要的。

它不起作用。现在,只有当用户单击“关闭窗口”按钮时,才会断开连接。