javascript - 将列表数据从 html 传递到 python (flask)

标签 javascript python html flask jinja2

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

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

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

最佳答案

您可以使用 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);
    },
});

然后在 flask 一侧:

@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

关于javascript - 将列表数据从 html 传递到 python (flask),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53655721/

相关文章:

python - Django Celery 获取任务计数

html - 为什么 CSS 属性显示 :table added?

javascript - Webpack 为依赖项创建重复条目

Javascript + Emoji 奇怪的东西

python - add2virtualenv(virtualenv 包装器)不适用于 scipy

python - 在列表的不同行上连续打印 5 个项目?

jquery - 选择器 where table td : contains null in jquery

html - 当浏览器宽度改变时调整 Flexbox 内容的大小

javascript - 使用 gruntjs 的自定义脚本和 css 版本控制最佳实践和自动化

javascript - 显示模块模式 : Where to insert variables for module access