0

我正在尝试通过 websocket 读取 JSON 对象,以便通过 D3 库进行可视化。我只是在检查浏览器是否正确接收 JSON。这是代码:

 ws = new WebSocket("ws://localhost:8888/dh");

      ws.onmessage = function(evt)
      {
        d3.json(
        JSON.parse(evt.data),
        function (jsondata) {

        console.log(jsondata);

        var data = jsondata.map(function(d) { return d.Value; });
        console.log(data);

            });   
      }

但是当我检查控制台日志时,它给了我这些错误:

[19:15:36.434] TypeError: jsondata is null @ http://localhost:8888/static/anEx.js:21

并且 console.log(data) 为空。

这里有什么不正确的?

谢谢

4

1 回答 1

1

d3.json用于发出返回 JSON 响应的 HTTP 请求。

您已经在 WS 消息处理程序中拥有数据,无需再发出请求。做就是了:

ws.onmessage = function(evt) {
    var jsondata = JSON.parse(evt.data);
    console.log(jsondata);
    // handle data ...
}
于 2012-12-07T19:30:40.193 回答