2013-03-20 3 views
7

Использование JavaScript WebSocket как пройти event.data out onMessage функция?javascript websocket onmessage event.data

var eventData = EventRequest("text"); 


    ..... codes ..... 


EventRequest = function (text) 
{ 
    var socket = new WebSocket ('ws://localhost:8080/'); 
    websocket.onopen = function(evt) { onOpen(evt); }; 
    websocket.onmessage = function(evt) { onMessage(evt); }; 

function onOpen (evt) 
{ 
    socket.send("text"); 
} 

function onMessage (evt) 
{ 
    alert (evt.data); 
    return evt.data; 
} 
}; 

Я пробовал разные способы передать evt.data, но я не смог. Я могу видеть правильные данные evt.data. Я просто не могу передать данные из функции onMessage.

Я попытался

function wcConnection(){ 
    this.dataInput = ''; 
} 

Внутри onMessage функции, я добавил

function onMessage (evt) 
{ 
    alert (evt.data); 
    this.dataInput = evt.data; 
} 

Любая помощь будет оценена.

+0

Вы можете сделать основной? http://www.tutorialspoint.com/html5/html5_websocket.htm, как на этой странице? – 2013-07-06 14:31:23

ответ

2

Если сервер питон смерч

def on_message(self, message): 
     t = json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) 
     self.write_message(t) 

В клиенте, чтобы получить сообщение, вы могли бы сделать

ws.onmessage = function (evt) { 
    console.log(JSON.parse(event.data)); 
} 

вы должны увидеть JSON в консоли

2

Почему вы возвращаете значение функции websocket.onmessage? Это функция, в которой вы получили это значение. Если вы хотите передать значение другой функции, просто передайте объект события этой функции и получите доступ к ней с помощью «evt.data».

websocket.onmessage = function(evt) { responseData(evt); }; 
function responseData(evt) { 
    /* Here is your data, Do you what you want! */ 
    console.log(JSON.parse(evt.data)); 
} 
Смежные вопросы