/ / WebSocket.onmessage funktioniert nicht - Javascript, Django, Sockets

WebSocket.onmessage funktioniert nicht - Javascript, Django, Sockets

Ich verwende Django-Kanäle, um Sockets in einer Django-App zu implementieren.

Ich bin ihm gefolgt Anleitung und es hat funktioniert:

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

aber wenn ich meinen eigenen Code verwende:

<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>

Mein Django-Server empfängt die Nachricht, aber socket.onmessage wird nicht aufgerufen. Wo gehe ich falsch?

Antworten:

1 für die Antwort № 1

Das Hinzufügen des Originalcodes zum Ready-Block funktioniert entweder nicht?

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

Möglicherweise ist der Kanal noch nicht geöffnet


0 für die Antwort № 2

Das ist der Code, der funktioniert hat

    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());
});
}
});