首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Node.js中获取当前聊天室ID

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

Stack Overflow用户
提问于 2014-05-06 22:44:26
回答 1查看 862关注 0票数 3

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

在createRoom.js中,我从用户输入的表单中使用roomName来创建房间模型并找到它的roomId,然后使roomId成为URL的一个参数:

代码语言:javascript
复制
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,以便在视频聊天页面上显示:

代码语言:javascript
复制
app.get('/rooms/videochat/:roomName/:roomId', function (req, res) {
    res.render('videochat.jade', {roomName: req.params.roomName, roomId: req.params.roomId});
});

在客户端JavaScript中,我使用

代码语言:javascript
复制
var roomId = $('#roomId span').text();

要获取roomId,然后使用socket.emit将其传递回服务器端:

代码语言:javascript
复制
socket.emit('updateStartTime', roomId);
EN

回答 1

Stack Overflow用户

发布于 2014-05-06 22:55:35

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

代码语言:javascript
复制
socket.emit('disconnect', roomId);

我希望这就是你需要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23497909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档