5

我在将数组从后端 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,然后将其发送过来并在客户端解析它。

我真正需要的只是将内容发送到客户端,但我不知道该怎么做哈哈

任何想法表示赞赏:)

4

2 回答 2

7

If you are using Nodejs, then the JSON object is available by default (it is built into V8 so Nodejs gets it for free).

The inverse of the JSON.stringify() method is JSON.parse().

For example:

> s = JSON.stringify([1,2,3]);
'[1,2,3]'
> a = JSON.parse(s);
[ 1, 2, 3 ]

If the server is sending the result of stringify, then the client must run parse to extract the original data and vice versa.

于 2012-05-21T14:42:27.693 回答
1

虽然这不是一个真正的解决方案,但它现在对我有用,除非我找到更好的方法来做到这一点。

使用.toString()方法:

    for (var i=0; i < clients.length; i++) {
      clients[i].send(clients.toString());
    }

然后用这个解释客户端的输出

var clients = string.split(',');

于 2012-05-20T07:28:34.563 回答