ボタンがクリックされたときに、サーバーに 3 つの引数を送信しようとしています。1 で動作させることはできますが、3 つすべてを送信するように以下のコードを設定すると、何も得られません。
index.html
function ledOn(x,y,z){
var data ={
"ADDRESS":x
"BANK":y
"VALUE":z
}
socket.emit('led', data);
}
<input type="button" name="Output1" id="Output1/
" value="Out put1" onmousedown="ledOn(0x20,0x12,0x40);/
" onmouseup="ledOn(0x20,0x12,0x00);">
i2csock123.js
io.sockets.on('connection', function (socket) {
socket.on('led', function (data) {
console.log(data.ADDRESS);
console.log(data.BANK);
console.log(data.VALUE);
var VALUE = data.VALUE;
var ADDRESS = data.ADDRESS;
var BANK = data.BANK;
b.i2cOpen(port, ADDRESS, {});
b.i2cWriteBytes(port, BANK, [VALUE]);
});
});
両方のセクションで「BANK」と「VALUE」をコメントアウトし、ledOn() & ボタンイベントで 1 つの引数のみを使用すると、正しい値が送信されます。サーバーによって受信された後、送信されていないか、正しく解析されていないかを知るには十分ではありません。
私は参照しています: socket.io - JSONはオブジェクトを送信する必要があります
var myBox = {
x: 400,
y: 700,
w: 231,
h: 199,
c: "red"
}
socket.emit('message', myBox);