D3不返回JSON对象

时间:2012-12-07 19:23:18

标签: javascript websocket d3.js data-visualization

我正在尝试通过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)为空。

这里有什么不对?

由于

1 个答案:

答案 0 :(得分:1)

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

您的WS消息处理程序中已有数据,无需再发出请求。只是做:

ws.onmessage = function(evt) {
    var jsondata = JSON.parse(evt.data);
    console.log(jsondata);
    // handle data ...
}