如何通过 flask_socketio 发出闪烁消息?
how to flash messages emit by flask_socketio?
我无法使用通过 emit 和 "captured" 与 @socketio.on 发送的 flask flash 消息,但它在 html 页面上有效。如何修复 flask_socketio 的闪光灯?
当我查看终端时,它有效。
问题出在连接插座/闪光灯上。
$('form#send_room').submit(function(event) {
socket.emit('my_room_event', {room: $('#room_name').val(), data: $('#room_data').val()});
return false;
});
events.py
@socketio.on( 'send_room' , namespace='/roomy/roomy')
def broadcast_info_new_box(data):
print("\n\n\n broadcast_info_new_box called with socket on landing events.py")
flash(data)
flash()
函数仅适用于 Flask 路由,因为它依赖于 HTTP 响应向客户端传送更新的会话 cookie。您正在尝试在 Socket.IO 事件处理程序中使用它,该处理程序无法向客户端发送 cookie。
如果您想通过 Socket.IO 实现警报弹出窗口或类似功能,您必须将这些警报作为事件发送给客户端,然后在客户端中使用 JavaScript 来显示它们。
我无法使用通过 emit 和 "captured" 与 @socketio.on 发送的 flask flash 消息,但它在 html 页面上有效。如何修复 flask_socketio 的闪光灯? 当我查看终端时,它有效。 问题出在连接插座/闪光灯上。
$('form#send_room').submit(function(event) {
socket.emit('my_room_event', {room: $('#room_name').val(), data: $('#room_data').val()});
return false;
});
events.py
@socketio.on( 'send_room' , namespace='/roomy/roomy')
def broadcast_info_new_box(data):
print("\n\n\n broadcast_info_new_box called with socket on landing events.py")
flash(data)
flash()
函数仅适用于 Flask 路由,因为它依赖于 HTTP 响应向客户端传送更新的会话 cookie。您正在尝试在 Socket.IO 事件处理程序中使用它,该处理程序无法向客户端发送 cookie。
如果您想通过 Socket.IO 实现警报弹出窗口或类似功能,您必须将这些警报作为事件发送给客户端,然后在客户端中使用 JavaScript 来显示它们。