无需Ajax即可将数据从javascript前端发送到Flask后端的方法

时间:2021-03-24 22:01:41

标签: javascript flask

我需要将数据从我的 javascript 前端发送到我的 Flask 应用程序中的 python 后端。我不能使用输入 html 标签。有没有什么方法可以不使用Ajax 向Flask 后端发送信息?

2 个答案:

答案 0 :(得分:0)

我最近遇到了同样的问题,我就是这样做的(虽然你说你不能使用我不太明白的输入标签?,对不起,如果这对你没有帮助)。在我的 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')

希望这对某人有所帮助,尽管我仍然是新手。

答案 1 :(得分:0)

好的,我发现 XMLHttpRequest 运行良好。您可以在此处 (base html, javascript front-end, Flask back-end) 看到它与 Flask 一起使用的示例。此示例直接从 html 表单获取输入,但您可以轻松地创建一个新的 FormData 对象并将您自己的值附加到其中。

还有 an example using fetch() 用于发送数据(也使用上面链接的基本 html 和后端)。

相关问题