【问题标题】:Flask AJAX: send interim data to front end during a routeFlask AJAX:在路由期间向前端发送临时数据
【发布时间】:2020-04-25 23:35:43
【问题描述】:

我使用 Flask 制作了一个应用程序,它有一个由用户启动的后端进程。 当用户发起流程时,会通过jQuery AJAX将一些数据发送到Flask,然后进行处理,并返回结果。 这个过程可能需要几秒钟到一分钟左右,所以我在前端有一个“请稍候”模式,同时等待来自后端的 AJAX 响应。

有没有办法可以将临时数据发送到前端,以更新“请稍候”模式,而后端进程正在做它的事情? 支持的进程执行迭代,直到满足为止。所以理想情况下,我希望能够向用户显示它已经执行了多少次迭代。

最初我认为 Flask 的“flash”消息功能中可能有一些东西。但这似乎更多地与路由中的重定向有关,而不是对路由的 AJAX 调用。

任何建议将不胜感激。

干杯, 休

【问题讨论】:

    标签: ajax flask


    【解决方案1】:

    是的,你可以做到,但不能使用 AJAX,因为 HTTP 通信只是客户端到服务器,所以你不能用 HTTP 异步更新你的客户端,所以你需要使用其他协议。我强烈推荐使用 SocketIo,这个协议允许你从服务器异步发送消息来更新你的前端,因为这个协议将用户持久化在服务器中。使用此协议(例如),您可以创建一个聊天室,例如 WhatsApp。有关更多信息,请参阅文档SocketIo Flask Extension

    【讨论】:

    • 谢谢!我现在已经看了一下 SocketIO,它确实看起来可以做我想做的事。
    猜你喜欢
    • 1970-01-01
    • 2017-05-10
    • 2021-10-05
    • 2023-03-30
    • 1970-01-01
    • 2022-06-16
    • 2019-02-13
    • 1970-01-01
    • 2020-07-10
    相关资源
    最近更新 更多