【问题标题】:Way to send data from javascript front-end to Flask back-end WITHOUT Ajax在没有 Ajax 的情况下将数据从 javascript 前端发送到 Flask 后端的方法
【发布时间】:2021-07-09 08:20:38
【问题描述】:

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

编辑:找到答案

【问题讨论】:

标签: javascript flask


【解决方案1】:

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

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

【讨论】:

  • 使用此表单时,似乎存在烧瓶端未接收数据的问题。你有这个问题吗?
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    相关资源
    最近更新 更多