2016-04-26 69 views
0

我想要的按鈕,僅發出一個新的數據。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次才能發出)

我該怎麼做才能讓我的按鈕只發射一次與我的新數據爲每次點擊?

+0

如何在放功能? – rahpuser

回答

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(''); 
    }); 
}