2013-03-20 28 views
7

Sử dụng JavaScript WebSocket cách vượt qua event.data ra chức năng 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; 
} 
}; 

Tôi đã thử nhiều cách khác nhau để chuyển evt.data ra, nhưng tôi không thể. Tôi có thể xem dữ liệu evt.data chính xác. Tôi chỉ không thể chuyển dữ liệu ra khỏi chức năng onMessage.

tôi đã cố gắng

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

Bên onMessage chức năng, tôi đã thêm

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

Bất kỳ trợ giúp sẽ được đánh giá cao.

+0

bạn có thể làm điều cơ bản không? http://www.tutorialspoint.com/html5/html5_websocket.htm như trên trang đó? –

Trả lời

2

Nếu bạn máy chủ là python cơn lốc xoáy

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

Trong khách hàng của bạn, để tải tin nhắn, bạn có thể làm

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

bạn sẽ thấy json trong giao diện điều khiển

2

Sao bạn trả về giá trị cho hàm websocket.onmessage? Đây là hàm mà bạn có giá trị đó. Nếu bạn muốn chuyển giá trị cho một hàm khác, chỉ cần truyền đối tượng sự kiện đến hàm đó và truy cập nó bằng cách sử dụng "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)); 
} 
Các vấn đề liên quan