我有客户端和服务器socket.io代码。除一个处理程序外,每条消息都将被接收:当我向客户端发送以下消息时:
socket.on('loginb', function(login) {
console.log(1);
var a = bedrijven.filter(function(e) {
return e.bedrijfsnaam == login.bnaam && e.pwd == login.pwd;
});
if (a[0] == null||a.length!=1||a==undefined) {
socket.emit('wow', false);
} else {
console.log(2,a);
socket.emit('wow', a[0]);
}
});
直到“ 412”的所有内容都会被记录下来,但不会收到该消息。这是侦听器在客户端的外观:
socket.on('wow', function(login) {
console.log(26);
});
26永远不会被记录。
奇怪的是:发射器和侦听器与我拥有的其他发射器和侦听器位于同一位置,并且工作相同。但是,这是行不通的,而其余的则行。
我还尝试用socket.emit('wow', a[0]);
代替socket.emit('wow', 'string');
,但没什么区别。
答案 0 :(得分:0)
由于@ jfriend00的评论,我找到了答案。 确实,问题在于客户端没有收到套接字消息,因为提交后页面刷新了。通过在Submit函数的末尾添加return语句可以防止这种情况。