Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Javascript客户端发送多个套接字IO Socket.handshake.query值_Javascript_Node.js_Socket.io - Fatal编程技术网

如何从Javascript客户端发送多个套接字IO Socket.handshake.query值

如何从Javascript客户端发送多个套接字IO Socket.handshake.query值,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,在服务器端,我为socket.handshake.query定义了两个变量,如下所示。但我不知道如何从客户端(Javascript)将值传递给这两个。 能够传递一个值,但不能同时传递两个值。有人能帮我吗 服务器端: io.on('connection', function(socket) { var userId = socket.handshake.query['userId']; var shopId = socket.handshake.query['shopId']; --- ---}

在服务器端,我为socket.handshake.query定义了两个变量,如下所示。但我不知道如何从客户端(Javascript)将值传递给这两个。 能够传递一个值,但不能同时传递两个值。有人能帮我吗

服务器端:

io.on('connection', function(socket) {
var userId = socket.handshake.query['userId'];
var shopId = socket.handshake.query['shopId'];
---
---}
客户端:

socket = io("http://127.0.0.1:3000/", {     
    query: `userId=${userId.value}`,    
    // `shopId=${shopId.value}` // shopId also needs to be added to query           
});
从中,查询应该是一个对象。所以你可以做:

socket = io("http://127.0.0.1:3000/", {     
    query: {
       userId: userId.value,
       shopId: shopId.value
    }              
});

查询应该是一个对象,因此您可以使用:
Query:{userId:userId.value,shopId:shopId.value}
感谢您的回复。成功了!!