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.dataJSON文字列です。あなたはそれを解析する必要があります:

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