javascript - 当后端在 Flask 中运行时动态填充 html

标签 javascript jquery python ajax flask

我希望使用 Flask 和 jQuery 动态填充结果。

我有一个程序,它在后端函数中运行一系列任务,并将结果附加到列表中。有没有办法通过 ajax/jquery 动态地将结果添加到页面(例如每隔几秒),直到后端完成运行(几乎像 Travelocity 这样的网站在找到航类时动态地将航类添加到页面)。目前,我无法理解如何在后端仍在运行时使用 ajax 更新结果(它会等到完成后再返回任何结果)。

我的假设示例:

    $.ajax({
        url: '/test',
        type: 'post',
        data: 'Begin Running Backend',
        dataType: 'json',
        success: function(data) {
             while(**BACKEND IS RUNNING**){
                    $("#samplediv").text(data.current_results);
                   }
                },
        error: function(data) {
            console.log("FAILED");
        }
     }); 

在后端时:

@app.route("/test",methods=['GET','POST'])
def test():
    run_script() #In this script, a for loop is adding results to a list
    return jsonify(results=list)

最佳答案

此处不需要 while 循环,因为在服务器做出良好响应之前,您不会收到 success 回调。

但是,您可能遇到的最大问题是由于响应时间较长而可能超时:

您可以添加以下内容以使其最多 1 分钟:

timeout: 60000

然后在您的成功函数中,从记录结果开始:

success: function (data) {
    console.log(data);
}

您不需要使用 while 循环以这种方式暂停客户端。

关于javascript - 当后端在 Flask 中运行时动态填充 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41773902/

相关文章:

javascript - 如何从 Angular 服务中的行为主体中提取数据?

javascript - 使用System.import异步加载React组件

c# - 使用 jQuery AJAX 和处理程序 (ashx) 上传文件不起作用

javascript - 使用任何键盘快捷键提交 PHP 表单

jquery - <cfcontent type ="text/json"> 打开下载对话框,以及其他 ajax 怪异

javascript - 在 HTML/CSS 中使用全局变量,可能吗?

javascript - 在代码补全中使用类型名称而不是 !type 值

python - 如何使用结构化数据创建 ClassificationRequest 以使用 gRPC 发送到 TensorFlow Serving

python - 为什么nodejs和python中符号 '😃'的unicode值不同?

python - 字符串连接性能