Javascript 套接字通过Node.js发送ajax接收的数据
服务器端:我通过ajax接收用户列表,我试图通过套接字将其发送给同一个客户端。 像这样的Javascript 套接字通过Node.js发送ajax接收的数据,javascript,ajax,node.js,websocket,socket.io,Javascript,Ajax,Node.js,Websocket,Socket.io,服务器端:我通过ajax接收用户列表,我试图通过套接字将其发送给同一个客户端。 像这样的 io.sockets.emit("users list", {users: users, me : req.me});//This work, but to all users socket.emit("users list", {users: users, me : req.me}); //Im trying something like this 代码 //Receive user list
io.sockets.emit("users list", {users: users, me : req.me});//This work, but to all users
socket.emit("users list", {users: users, me : req.me}); //Im trying something like this
代码
//Receive user list
app.post('/', function(request, response){
response.setHeader('Access-Control-Allow-Origin', 'http://localhost'); //To allow response
var req = JSON.parse(request.body.data);
if(typeof req != "object") {
response.send({status: false, msg: "Error on load user list"});
} else {
socket.id = req.me.id;
req.users.data.forEach(function(user) {
if(users[user.id] == null)
users[user.id] = user;
});
//io.sockets.emit("users list", {users: users, me : req.me});//This work, but to all users
socket.emit("users list", {users: users, me : req.me}); //Im trying something like this
}
response.send({status: true, msg: ""});// echo the result back
});
我还想知道是否有最好的方法来实现这一点…您可以尝试将数据发送到特定的套接字,如下所示:
sockets.socket(socket.id).emit(“用户列表”{users:users,me:req.me}) 但是,为什么要向刚从同一客户机收到的客户机发送某些内容呢?我的节点应用程序位于iframe内部(与客户机一起)。PHP(顶部框架)发送请求,节点(iframe)加载带有用户列表的页面。