如何访问使用websockets发送的烧瓶中的formData?Flask-SocketIO
How to access formData in flask sent using websockets?Flask-SocketIO
如何使用网络套接字访问发送到 Flask 的表单数据?我在 google chrome 开发人员工具->控制台中收到无效的帧头。
从我的 javascript 代码中提取:
var form_data = new FormData($('#my_form')[0]);
socket.emit('handle_form',{data:form_data});
我如何从烧瓶访问 my_form 中的 'title' 字段?
request.form 抛出相同的错误“无效的帧头”
还有一个问题,使用 web sockets 进行表单提交并作为 ajax 的完整替代品好吗?
这不像 Flask-SocketIO
有效。
当你 socket.emit
做某事时,你会用回调来处理它。
@socketio.on('handle_form')
def handle_form_callback(data):
print('received message: ' + data)
在这种情况下,您没有 request.form
。
它可以作为表单提交的替代品,但我认为它不是一个好的替代品。 Websockets 不是无状态的,它们难以扩展并且基本上绑定到服务器。当然它有一些解决方法,但它不像有据可查的 HTTP 服务器缩放。
与其发送仅客户端构造的 FormData
对象,不如构建一个普通字典并发送它,因为所有数据都在 [=16= 中来回传输] 序列化为 JSON.
然后在服务器上,您将有一个字典作为参数发送到您的套接字回调函数。有关如何将表单数据发送到服务器的想法,请参阅此 example。
如何使用网络套接字访问发送到 Flask 的表单数据?我在 google chrome 开发人员工具->控制台中收到无效的帧头。
从我的 javascript 代码中提取:
var form_data = new FormData($('#my_form')[0]);
socket.emit('handle_form',{data:form_data});
我如何从烧瓶访问 my_form 中的 'title' 字段?
request.form 抛出相同的错误“无效的帧头”
还有一个问题,使用 web sockets 进行表单提交并作为 ajax 的完整替代品好吗?
这不像 Flask-SocketIO
有效。
当你 socket.emit
做某事时,你会用回调来处理它。
@socketio.on('handle_form')
def handle_form_callback(data):
print('received message: ' + data)
在这种情况下,您没有 request.form
。
它可以作为表单提交的替代品,但我认为它不是一个好的替代品。 Websockets 不是无状态的,它们难以扩展并且基本上绑定到服务器。当然它有一些解决方法,但它不像有据可查的 HTTP 服务器缩放。
与其发送仅客户端构造的 FormData
对象,不如构建一个普通字典并发送它,因为所有数据都在 [=16= 中来回传输] 序列化为 JSON.
然后在服务器上,您将有一个字典作为参数发送到您的套接字回调函数。有关如何将表单数据发送到服务器的想法,请参阅此 example。