我试图在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('/');
});
如果我不能得到这样的用户。有想法获得认证的用户吗?
答案 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>