javascript - 将列表数据从 html 传递到 python (flask)
问题描述
我将列表数据selectedOrder
从 python 传递到 html,如下所示。
return render_template(f"fillForm.html", items=selectedOrder)
我知道有一种方法可以通过使用输入表单或将数据附加到 url 来从 html 发送单个数据,/fillForm?sid=3&quantity=5
但我很好奇我是否也可以以这种方式将列表数据从 html 发送回 python。显然,我可以在传递数据之前将数据存储到 python 中的某个变量中,但考虑到我的代码是如何工作的,如果可能的话,最好直接从 html 获取数据。不确定这是否重要,但我使用烧瓶和 jinja2 模板。
解决方案
您可以使用 ajax 请求并将您的列表作为 json 发送。Flask 提供了 request.get_json() 方法来检索作为 dict 接收的 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
推荐阅读
- node.js - 错误:无法在视图目录“views”中查找视图“index”
- python - 如何在外部文件中添加 JSON 值?
- angular - 角管与订阅
- c# - 是否有一个 API 可以根据您的查询搜索返回多少个结果?
- azure - 无法在 azure linux vm 中更新 ssh 密钥
- python - Tensorflow 自定义模型权重不会随每个时期更新
- r - 从 for 循环中的矩阵列表中删除矩阵
- excel - VBA:对象_worksheet的错误1004方法范围失败
- python - 根据其他列 pandas python 的特定值创建列
- reactjs - Apollo Inline 片段不返回数据