0

D3 ライブラリによる視覚化のために、websocket を介して JSON オブジェクトを読み込もうとしています。ブラウザが 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) は null です。

ここで何が間違っていますか?

ありがとう

4

1 に答える 1

1

d3.jsonJSON 応答を返す HTTP 要求を作成するために使用されます。

WS メッセージ ハンドラーには既にデータがあるため、別の要求を行う必要はありません。ただ行う:

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