Flask-SocketIO 和 SocketIO 客户端;客户端发出事件不会持续触发

时间:2021-05-12 09:49:34

标签: javascript python socket.io flask-socketio

每当我点击发送按钮时,emit 事件都不会持续触发(有时会触发,有时不会)。当我点击发送按钮发送垃圾邮件时,它确实会触发。

这是我的 server.py

@socketio.on('message')
def message(message_data):
    print(message_data)
    room = message_data['channel']
    emit('broadcast', message_data, room=room)

这是我的 client.js,它应该触发发送事件

socket.on('connect', function (){
                socket.emit('join channel', {
                    'channel_id': localStorage.getItem('channel_id')
                })
            })

            $("#send").on('click', function (){
                prevent_blank_text()
                socket.emit('message',{
                    'message': $("#message").val(),
                    'user': localStorage.getItem('channel_user'),
                    'channel': localStorage.getItem('channel_id'),
                    'timestamp': new Date().toLocaleString()
                }, function (){
                    $("#message").val('')
                })
            })

注意:connect 事件与 click 事件是分离的,我只是将它包含在那里,以防出现问题。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

编辑:显然引导程序的 btn-large 是导致问题的原因,这不是 socketio 问题

<button type="button" id="send" class="btn btn-success">Send</button>

这修复了我的发送按钮