当我用套接字发出时,为什么不触发事件?
Why won't the event trigger when I emit with socket?
我有一个事件,我试图触发,称为'用户名'。我正在使用插座。IO库在Node.js。我有两个文件,index。html和server。js:
我试图发出的事件是在客户端index.html:
//show online users
socket.on('usernames', function (data) {
console.log('@@@@@@@@@@@@@@@@@@@@@');
var html = '';
for (var i = 0; i < data.length() ; i++) {
html += data[i] + '<br/>';
}
$users.html(html);
});
emit在server.js中的服务器端:
io.sockets.on('connection', function (socket) {
//new user join
socket.on('new user', function (data, callback) {
if (nicknames.indexOf(data) != -1) { //if name dont exist .indexOf() returns -1
callback(false);
} else {
callback(true);
socket.nickname = data;
nicknames.push(socket.nickname);
io.sockets.emit('usernames', nicknames);
}
});
// sent message from user
socket.on('send message', function (data) {
//send the data to all users
io.sockets.emit('new message', data);
});
//
});
** index.html中的事件在$(document).ready()中;
什么也没发生,事件不会触发。
帮助吗?
回答我自己的问题。有两个错误:1)语句'data.length()'没有编译,正确的方法是使用'data.length'。2)我没有触发'new user'事件,因此'usernames'事件没有触发
相关文章:
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- 为什么此事件侦听器不工作
- 为什么不是't;输入“;此处触发事件
- 为什么不是't html<对象>元素响应鼠标事件
- 为什么触摸事件不在手指按压的中间
- 为什么不't通过socket.io发射事件火
- 为什么不是't单击事件中返回的数组的总和
- 骨干-为什么不;t集合.重置触发模型事件
- 为什么不'我的手机上没有设备就绪的事件监听器
- 为什么“输入”事件不会在文件输入上触发,但“更改”事件会触发
- 为什么此事件跟踪器不起作用
- 为什么滚动事件不冒泡
- 为什么这个事件侦听器在 javascript 中的数组中对多个键不起作用
- 在 Firefox 中,当选择具有位置和 z 索引时,为什么更改事件不会在选项卡上触发
- 为什么不触发 Android 网页视图的可见性更改事件
- 为什么不将JavaScript事件委派发挥到极致呢
- 为什么不't我的两个订阅者的事件触发器
- 为什么不是't我的更改事件启动
- 为什么onchange事件没有'不起作用
- 为什么onclick事件在Firefox和Safari中不触发