将列表数据从html传递到python(烧瓶)

时间:2018-12-06 16:27:28

标签: javascript python html flask jinja2

我将清单数据selectedOrder从python传递到html,如下所示。

return render_template(f"fillForm.html", items=selectedOrder)

我知道有一种方法可以通过使用输入形式从HTML发送单个数据,也可以像/fillForm?sid=3&quantity=5中那样将数据附加到url,但是我很好奇我是否可以将HTML列表数据发送回python也以这种方式。显然,我可以在传递数据之前将数据存储到python中的某个变量中,但是鉴于我的代码是如何工作的,如果可能的话,最好直接从html获取数据。不知道这是否重要,但是我使用了flask和jinja2模板。

1 个答案:

答案 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