Javascript 如何访问node.js服务器文件中声明的数组
我在Node.js应用程序的server.js中声明了一个数组。我希望客户端能够访问阵列及其内容。可能吗?如果是,我怎么做?我尝试了以下操作,但控制台总是显示未定义全局数组 server.jsJavascript 如何访问node.js服务器文件中声明的数组,javascript,arrays,node.js,socket.io,Javascript,Arrays,Node.js,Socket.io,我在Node.js应用程序的server.js中声明了一个数组。我希望客户端能够访问阵列及其内容。可能吗?如果是,我怎么做?我尝试了以下操作,但控制台总是显示未定义全局数组 server.js //connection code above this var global_array=[]; socket.on('change', function(data){ socket.broadcast.emit('change', data); global_array
//connection code above this
var global_array=[];
socket.on('change', function(data){
socket.broadcast.emit('change', data);
global_array.push(data);
console.log(global_array);
});
.... //rest code
if (typeof global_array !== 'undefined' && global_array.length > 0) {
console.log(global_array);
} else {
console.log("global array not defined");
}
main.js
//connection code above this
var global_array=[];
socket.on('change', function(data){
socket.broadcast.emit('change', data);
global_array.push(data);
console.log(global_array);
});
.... //rest code
if (typeof global_array !== 'undefined' && global_array.length > 0) {
console.log(global_array);
} else {
console.log("global array not defined");
}
在服务器上定义变量并不意味着它也可以在客户端访问 我建议也在客户端初始化全局_数组变量。当客户端连接到服务器时,服务器将发送初始阵列数据或空阵列(如果没有数据)。然后,客户机将侦听更改事件 服务器端代码:
var全局数组=[];
io.on('连接',函数(套接字){
emit('初始化数组',全局数组);
插座
.on('change',函数(数据){
socket.broadcast.emit('change',data);
全局_array.push(数据);
log(全局_数组);
});
});
无论输出HTML的是什么,只要在脚本标记内输出数组?@adeneo,即index.HTML,当我执行console.log(全局数组)时;它给出ReferenceError:未定义全局数组