我正在尝试通过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)为空。
这里有什么不对?
由于
答案 0 :(得分:1)
d3.json
用于发出返回JSON响应的HTTP请求。
您的WS消息处理程序中已有数据,无需再发出请求。只是做:
ws.onmessage = function(evt) {
var jsondata = JSON.parse(evt.data);
console.log(jsondata);
// handle data ...
}