Estou usando canais django para implementar soquetes em um aplicativo django.
Eu segui instruções e funcionou:
socket = new WebSocket("ws://127.0.0.1:8000/chat/");
socket.onmessage = function(e) {
alert(e.data);
}
socket.onopen = function() {
socket.send("hello world");
}
mas quando eu uso meu próprio código:
<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>
Meu servidor django recebe a mensagem, mas socket.onmessage não é chamado. Onde eu estou errado?
Respostas:
1 para resposta № 1adicionar o código original ao bloco pronto ou não está funcionando?
socket.onopen = function() {
console.log("socket open")
socket.send("hello world");
}
Pode ser que o canal ainda não esteja aberto
0 para resposta № 2
Esse é o código que funcionou
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());
});
}
});