我将清单数据selectedOrder
从python传递到html,如下所示。
return render_template(f"fillForm.html", items=selectedOrder)
我知道有一种方法可以通过使用输入形式从HTML发送单个数据,也可以像/fillForm?sid=3&quantity=5
中那样将数据附加到url,但是我很好奇我是否可以将HTML列表数据发送回python也以这种方式。显然,我可以在传递数据之前将数据存储到python中的某个变量中,但是鉴于我的代码是如何工作的,如果可能的话,最好直接从html获取数据。不知道这是否重要,但是我使用了flask和jinja2模板。
答案 0 :(得分:1)
您可以使用ajax请求,并将列表作为json发送。 Flask提供了request.get_json()方法来检索作为字典接收的json数据。假设您有jquery,它将像:
$.ajax({
url: "/your_route",
type: "POST",
contentType: "application/json;charset=UTF-8",
dataType: "json",
data: JSON.stringify({html_data: yourlist}),
success: function(response) {
console.log(response);
},
});
然后在烧瓶侧面:
@app.route('/your_route')
def your_route():
data = request.get_json()
print(data['html_data']) # should print your list
# don't forget to return a success status