为什么我的服务器不响应客户端发出的事件?我尝试了 socket.io 网页上的一些简单示例,它们似乎工作正常。
我的目标是每当用户将焦点从输入框移开时发出一个事件,比较服务器上的输入值,然后将一个事件发回客户端。
客户端
$('#userEmail').focusout(function() {
var value = $('#userEmail').val(); // gets email from the input field
console.log(value); // prints to console (it works!)
socket.emit('emailFocusOut', { userEmail: value }); // server doesn't respond to this
});
服务器端
io.sockets.on 'emailFocusOut', (data) ->
console.log(data)
附加信息
- 表达 3.0rc4
- socket.io 0.9.10
- CoffeeScript 1.3.3
最佳答案
您必须将自定义事件放在 io.sockets.on
函数中。以下代码将起作用:
io.sockets.on('connection', function (socket) {
socket.on("emailFocusOut", function(data) {
console.log(data) // results in: { userEmail: 'awesome' }
})
});
关于javascript - Socket.io 不触发从客户端到服务器的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12659330/