Express io没有方法'发出'

时间:2013-05-24 13:56:43

标签: node.js express

我试图在app.post上的routes.js中发出事件,我得到了这个错误:因为没有方法'发出'。

app.js:

app.io.route('setOnlineServer', function (req) {
Account.setOnline(req.user); 
});

routes.js

app.post('/login', passport.authenticate('local'), function(req, res) {
    req.io.emit('setOnlineServer',req.user);
    res.redirect('/');
});

如果我不能得到这样的用户。有想法获得认证的用户吗?

1 个答案:

答案 0 :(得分:0)

服务器(app.js)

app = require('express.io')()
app.http().io()

// Broadcast the new visitor event on ready route.
app.io.route('ready', function(req) {
   req.io.broadcast('new visitor')
})

// Send client html.
app.get('/', function(req, res) {
res.sendfile(__dirname + '/client.html')
})

app.listen(7076)

客户端(client.html)

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
io = io.connect()

// Send the ready event.
io.emit('ready')

// Listen for the new visitor event.
io.on('new visitor', function() {
    $('body').append('<p>New visitor, hooray! ' + new Date().toString() +'</p>')
})
</script>