2013-03-20 30 views
7

使用JavaScript WebSocket如何通過event.dataonMessage函數?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)); 
} 
相關問題