2016-03-23 27 views
0

我在Django應用程序中使用django通道來實現套接字。WebSocket.onmessage不起作用

我已經按照instructions和它的工作:

socket = new WebSocket("ws://127.0.0.1:8000/chat/"); 
socket.onmessage = function(e) { 
    alert(e.data); 
} 
socket.onopen = function() { 
    socket.send("hello world"); 
} 

,但是當我用我自己的代碼:

<script type="text/javascript"> 
    $(document).ready(function() { 
     socket = new WebSocket("ws://127.0.0.1:8000/chat/"); 
     socket.onmessage = function (e) { 
      console.log(e.data); 
     }; 
     $('form').submit(function() { 
      socket.send($('form>input[type="text"]').val()); 
     }); 
    }); 
</script> 

我的Django的服務器收到郵件,但socket.onmessage不叫。我哪裏錯了?

回答

1

將原始代碼添加到就緒區塊要麼不工作?

socket.onopen = function() { 
    console.log("socket open") 
    socket.send("hello world"); 
} 

這可能是該通道尚未開通

+0

不,插座被打開的代碼。一切正常。我只想提醒已發送到服務器並返回到客戶端的消息 –

+0

如果您想要使用警報(e.data),否則它只會顯示在控制檯中(按F12查看它) – thegio

+0

不會物。兩個都不行 –

0

奏效

socket = new WebSocket("ws://127.0.0.1:8000/chat/"); 
    socket.onmessage = function (e) { 
     alert(e.data); 
    }; 
    $(document).ready(function() { 
     socket.onopen = function() { 
      $('button').click(function() { 
       socket.send($('#mes_input').val()); 
      }); 
     } 
    });