大学院生、javascript初心者です。
ubuntuを使っています。
Web上でマップの任意の地点をクリックし、緯度経度をサーバ側へ送り処理を行いたいというのが自分の目的です。
ウェブサーバー間におけるJSON形式の扱いで困っています。
以下にウェブ、サーバにおけるそれぞれのコードの一部を載せます。
$(() => { const ws = new WebSocket("ws://localhost:8081/", ["test"]); ws.onopen = () => { const envelope = { "latitude": $('#lat').val(), "longitude": $('#lng').val() }; //サーバへ送信 ws.send(JSON.stringify(envelope)); } });
wss.on('connection', (client) => { client.on('message', (message) => { const envelope = JSON.parse(message.data); console.log('received lat: %s', envelope.latitude); console.log('received lng: %s', envelope.longitude); }); });
エラーが以下のようになってます。
undefined:1 undefined ^ SyntaxError: Unexpected token u in JSON at position 0 at JSON.parse (<anonymous>) at WebSocket.client.on (/home/aaa/M1/web/get_latlon.js:11:31) at WebSocket.emit (events.js:198:13) at Receiver.receiverOnMessage (/home/aaa/web/node_modules/ws/lib/websocket.js:720:20) at Receiver.emit (events.js:198:13) at Receiver.dataMessage (/home/aaa/web/node_modules/ws/lib/receiver.js:414:14) at Receiver.getData (/home/aaa/web/node_modules/ws/lib/receiver.js:346:17) at Receiver.startLoop (/home/aaa/web/node_modules/ws/lib/receiver.js:133:22) at Receiver._write (/home/aaa/web/node_modules/ws/lib/receiver.js:69:10) at doWrite (_stream_writable.js:415:12)
ネットでいろいろ検索しましたが、結局解決策が見つからず、直すべき場所もわからないままです。
JSON形式でなにかおかしいところがあるのかもと思い、質問させていただきました。
解決策やアドバイス等いただけたら幸いです。
場違いな質問をしているかもしれませんが、よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/26 23:16
退会済みユーザー
2019/06/26 23:33