【问题标题】:Extracting real-time server-side data for client-side application为客户端应用程序提取实时服务器端数据
【发布时间】:2012-11-17 17:39:51
【问题描述】:

我正在使用 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 的新手。

谢谢

【问题讨论】:

  • 你的数据很奇怪。为什么是那些“你”?
  • 抱歉,它在浏览器中接收为:{"place": {"full_name": "Northampton, Northamptonshire"}, "coordinates": {"type": "Point", "coordinates": [-0.9003352, 52.2467064]}}

标签: javascript jquery html websocket


【解决方案1】:

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

ws.onmessage = function(evt){
   var msg = JSON.parse(evt.data);
   var coordinates = msg.coordinates.coordinates;

【讨论】:

  • 正确....我应该意识到我正在以 JSON 格式发送数据。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多