2

我正在使用 websockets 将数据从服务器发送到客户端。这很好用,例如,我可以显示服务器在收到消息时发送给客户端的消息。这是我使用的部分 javascript:

    ws.onmessage = function(evt){
            $("#display").append(evt.data + "<br />");

            console.log(evt.data);

这是显示的数据:

{"place": {"full_name": "Northampton, Northamptonshire"}, "coordinates": {"type": "Point", "coordinates": [-0.9003352, 52.2467064]}}

但是,如果我只是想要坐标信息,即经度和纬度,那么 Web 控制台错误消息是:

TypeError: evt.data.coordinates is undefined @ http://localhost:8888/:34

我正在尝试通过以下方式获取这些数据:

    ws.onmessage = function(evt){
            var coordinates = evt.data.coordinates.coordinates;
            console.log(coordinates);

我是 javascript 的新手。

谢谢

4

1 回答 1

2

evt.data是一个 JSON 字符串。你必须解析它:

ws.onmessage = function(evt){
   var msg = JSON.parse(evt.data);
   var coordinates = msg.coordinates.coordinates;
于 2012-11-17T17:49:14.347 回答