【问题标题】:socketIO data undefinedsocketIO 数据未定义
【发布时间】:2017-01-13 13:17:06
【问题描述】:

我正在尝试将数据从我的客户端发送到我的服务器端。我只得到undefined。我希望用户点击 ledOn 功能发送1 并点击 ledOff 发送0 到服务器。

server.js

io.sockets.on('connection', function(socket){

    socket.on('ON', function (data) {
        console.log(data);

    });
    socket.on('OFF', function (data) {
        console.log(data);

    });
});

client.js

function ledOn() {
 socket.emit ('ON');
     document.getElementById("ON").value = "1"
 console.log("Led is ON ");
 }

 function ledOff() {
 socket.emit('OFF');
     document.getElementById("OFF").value = "0"
 console.log("Led is Off");

 }

index.HTML

<div id="ON">
<input type="submit" value="Led ON" onclick="ledOn()">
</div>
<div id="OFF">
<input type="submit" value="Led OFF" onclick="ledOff()">
</div>

【问题讨论】:

  • 您在调用监听器时没有发送任何数据。它应该像socket.emit('OFF', 'yourData'); 第一个参数是您的监听器名称,其余是参数。
  • 谢谢我完全跳过了。

标签: javascript node.js socket.io


【解决方案1】:

更改client.js 以在"ON""OFF" 事件的情况下发出一些数据。例如,下面,我分别在ledOn()ledOff() 中发送"1""0"

function ledOn() {
    socket.emit ('ON', "1");
    document.getElementById("ON").value = "1"
    console.log("LED is on");
 }

 function ledOff() {
    socket.emit('OFF', "0");
    document.getElementById("OFF").value = "0"
    console.log("LED is off");
 }

查看 Socket.IO docs 以查看他们的一些示例。

【讨论】:

    猜你喜欢
    • 2017-11-30
    • 2016-08-20
    • 1970-01-01
    • 2021-06-27
    • 2021-07-15
    • 1970-01-01
    • 2011-08-13
    • 2019-03-30
    • 2021-05-14
    相关资源
    最近更新 更多