Flask-SocketIO 和 SocketIO 客户端;客户端发出事件不会持续触发
Flask-SocketIO and SocketIO Client; Client Emit event doesn't trigger consistently
每当我点击我的发送按钮时,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 事件是分离的,我只是将它包含在那里,以防万一出现问题。
有人能给我指出正确的方向吗?
编辑:显然 bootstrap 的 btn-large 是导致问题的原因,它不是 socketio 问题
<button type="button" id="send" class="btn btn-success">Send</button>
这修复了我的发送按钮
每当我点击我的发送按钮时,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 事件是分离的,我只是将它包含在那里,以防万一出现问题。
有人能给我指出正确的方向吗?
编辑:显然 bootstrap 的 btn-large 是导致问题的原因,它不是 socketio 问题
<button type="button" id="send" class="btn btn-success">Send</button>
这修复了我的发送按钮