当从 Flask 中获取数据时,我可以以某种方式将 html 元素及其值绑定(bind)到一个对象而不使用 Jinja 模板吗?
或者我必须通过手动 HTTP Post 发送数据吗?
最佳答案
我认为你真正要问的是“给定一个客户端JavaScript对象,我如何序列化它以便我可以轻松访问服务器端的数据”。如果这是您的问题,有两种方法可以实现:
您在答案中提供的方式,将对象序列化为 JSON 并将其作为 POST 请求的正文提交:
@app.route("/user", methods=("POST",)) def save_user(): data = request.get_json() # ... etc. ...
使用
FormData
在客户端:var yourUser = { firstname: "Joe", lastname: "Smith", email: "joe@smith.com", password: "12345" }; var formData = new FormData(); Object.keys(yourUser).forEach(function(key) { formData.append(key, yourUser[key]); }); // Post formData back to your controller using XHR
与服务器端正常的
request.form
访问结合:@app.route("/user", methods=("POST",)) def save_user(): data = request.form # ... etc. ...
关于python - 使用 Flask 获取表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19805763/