Socket.io客户端发出旧数据

时间:2016-04-26 18:06:39

标签: javascript node.js socket.io

我希望按钮只发出新数据。

点击我的按钮,使用下面的功能

function regis() {
  socket.emit('register', 
  {
    'username': $('#regis-username').val(), 
    'password': $('#regis-password').val(), 
    'email': $('#regis-email').val()
  },function () {
     console.log('Regis');
  });
}

当我第一次点击它时,它会将我的数据发送到服务器。 //这是对的。 所以我第二次尝试,它将我的旧数据发送到服务器并将我的新数据发送到服务器。 (按顺序发射2次) 所以我尝试第三次,它发出我的旧数据,然后是我的第二个数据,然后是我的新数据。 (按顺序发射3次)

如何使用每次点击的新数据使我的按钮只发出一次?

1 个答案:

答案 0 :(得分:0)

我可以看到代码中没有任何内容会导致客户端多次发出除了这些元素之外的任何内容。

还有其他地方有错误的余地吗?
也许作为预防措施,您可以清除表单元素?

function regis() {
    socket.emit('register', 
        {
            'username': $('#regis-username').val(), 
            'password': $('#regis-password').val(), 
            'email': $('#regis-email').val()
        },
    function () {
          console.log('Regis');
          $('#regis-username').val('');
          $('#regis-password').val('');
          $('#regis-email').val('');
    });
}