我在将数组从后端js发送到客户端时遇到问题。
我在服务器端尝试了以下方法:
for (var i=0; i < clients.length; i++) {
clients[i].send(clients);
}
for (var i=0; i < clients.length; i++) {
clients[i].send(JSON.stringify(clients));
}
- 也在客户端使用 json.stringify
for (var i=0; i < clients.length; i++) {
clients[i].send(clients.join('n')));
}
- 我也再次在客户端尝试了这种方法。
不幸的是,上述解决方案都不起作用,由于 JSON.stringify 是一种浏览器方法,JSON.stringify 方法显然在服务器端不起作用,但其他方法返回[object Object]
或"[object Object]"
如何将数组clients
发送到客户端,或者即使我可以将其编码为 JSON,然后将其发送并在客户端解析。
我真正需要的只是将内容发送到客户端,但我不知道该怎么做哈哈
任何想法都值得赞赏:)
那么 JSON 对象默认可用(它内置在 V8 中,所以 Nodejs 免费获得它(。
JSON.stringify(( 方法的逆函数是 JSON.parse((。
例如:
> s = JSON.stringify([1,2,3]);
'[1,2,3]'
> a = JSON.parse(s);
[ 1, 2, 3 ]
如果服务器正在发送 stringify 的结果,则客户端必须运行 parse 来提取原始数据,反之亦然。
虽然这不是一个真正的解决方案,但它现在对我有用,除非我找到更好的方法。
使用 .toString()
方法:
for (var i=0; i < clients.length; i++) {
clients[i].send(clients.toString());
}
然后用这个在客户端解释该输出
var clients = string.split(',');