【发布时间】:2021-07-09 08:20:38
【问题描述】:
我需要在我的烧瓶应用程序中将数据从我的 javascript 前端发送到我的 python 后端。我不能使用输入 html 标签。有什么方法可以在不使用 Ajax 的情况下将信息发送到 Flask 后端?
编辑:找到答案
【问题讨论】:
-
有可能吗?我认为没有ajax和请求是不可能发送数据的
标签: javascript flask
我需要在我的烧瓶应用程序中将数据从我的 javascript 前端发送到我的 python 后端。我不能使用输入 html 标签。有什么方法可以在不使用 Ajax 的情况下将信息发送到 Flask 后端?
编辑:找到答案
【问题讨论】:
标签: javascript flask
我最近遇到了同样的问题,我就是这样做的(虽然你说你不能使用我不太明白的输入标签?如果这对你没有帮助,对不起)。在我的 html 顶部,我创建了一个带有输入的表单,但没有显示任何内容,因此它保持不可见:
<form id='exampleForm' method = 'post' action='#' style='display:none'>
<input id='exInput' type='text' name='exInput'>
</form>
您必须为输入命名才能从 Flask 访问它。然后诀窍是,一旦你在这个页面上完成了你需要做的所有事情,我在条件的末尾,你将'exInput'文本输入框的'value'属性设置为你想要的应该是,据说它以前已经存储在一个 Javascript 数组中。最后你提交表单。
var exInput = document.getElementById('exInput')
exInput.setAttribute('value', 'jsArrayYouHaveAlreadyDefined')
document.getElementById('exampleForm').submit()
在 Flask 端,您只需检查 POST 方法并检索数据。 (您必须事先导入请求)
@app.route('/example/', methods = ['GET', 'POST'])
def example():
if method == 'POST':
exInput = request.form['exInput']
return render_template('example.html')
希望这对某人有所帮助,尽管我还是个新手。
【讨论】:
好的,我发现XMLHttpRequest 效果很好。您可以在此处查看它与 Flask 一起使用的示例(base html、javascript front-end、Flask back-end)。此示例直接从 html 表单获取输入,但您可以轻松地创建一个新的 FormData 对象并将您自己的值附加到它。
还有an example using fetch() 用于发送数据(也使用上面链接的基本 html 和后端)。
【讨论】: