gpt4 book ai didi

javascript - 客户端数据未传递到服务器

转载 作者:太空宇宙 更新时间:2023-11-04 01:15:25 24 4
gpt4 key购买 nike

警告,我是 Javascript、node.js、socket.io 的新手。到目前为止,这真是太神奇了。 :)

我现在正在尝试创建一个简单的用户名界面。客户端将输入他们选择的用户名,单击按钮,然后触发一个事件,将用户名发送到服务器以放入数组中。

客户端连接正常,发生握手。然而套接字并未将数据发送到服务器。

服务器:

var io = require('socket.io').listen(8888);
var players = [];

io.sockets.on('connection', function (socket) {
socket.on('adduser', function(username) {
players.push(username);
console.log("Received: " + username);
});
});

客户:

var socket = io.connect('/socket.io/socket.io.js');
function usernameSubmit(){
console.log("Button pressed");
var textfield = document.getElementById('usernamefield');
var username = textfield.value
if (username != ""){
console.log(username);
socket.send('adduser', username);
console.log("Username submitted.");
}
else
console.log("Blank username detected.");
}

感谢您的帮助!

最佳答案

您应该使用 .emit 代替。这样您就可以传递一个对象并在服务器上访问它。

客户:

if (username != ""){
console.log(username);
socket.emit('adduser', { username: username });
console.log("Username submitted.");
}

服务器:

socket.on('adduser', function(data) {
players.push(data.username);
console.log("Received: " + data.username);
});

关于javascript - 客户端数据未传递到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10360861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com