конвертировать evt.data из websocket в строку jSON или обычную строку в JavaScript - PullRequest
1 голос
/ 20 марта 2012

Недавно я играл с websocket, и он отлично работает,

на стороне клиента с функцией onmessage (evt), я получил сообщение со стороны сервера, сообщение на самом деле в формате JSON, например:

{"Properties":{"name":"0a67d327-1f78-475e-b58a-d16706782223","publicname":"Page1"}}

затем на стороне клиента (html5 с javascript) я получаю доступ к данным, используя:

var page=evt.data;

, затем я получаю доступ к объекту JSON

document.getElementById('name').innerHTML=page.Properties.name;

, но этопросто не будет работать, я даже использую функцию eval, но она все еще не работает, я проверил страницу с помощью alert (page);

Интересно, не является ли evt.data строковыми даннымино байт, у кого-нибудь есть решение для преобразования байта в строку?или любое другое решение, которое может иметь какое-либо отношение к этому evt.data

1 Ответ

3 голосов
/ 20 марта 2012

Данные WebSocket - это либо string, Blob, либо ArrayBuffer. В вашем случае это, скорее всего, строка, поэтому вам нужно сначала проанализировать ее:

var page = JSON.parse(evt.data);
console.log("Properties.name: " + page.Properties.name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...