私はdjangoアプリケーションでソケットを実装するためにdjango-channelsを使用しています。
私は従った 指示 それは働いた:
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は1準備ができているブロックに元のコードを追加することは機能していませんか?
socket.onopen = function() {
console.log("socket open")
socket.send("hello world");
}
チャンネルがまだ開かれていない可能性があります
回答№2の場合は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());
});
}
});