nat_pagle 2022-02-25 15:53 采纳率: 66.7%
浏览 86
已结题

flask中利用ajax定时刷新同步后端结果

点击html页面的按钮后,可以开始不用刷新页面同步显示后端的结果。如同步下面count.py的结果count

import json, time, random

from threading import Thread
count=0

def foo():
    global count
    while True:
        time.sleep(1)
        count += 1
        print(count)
t1 = Thread(target=foo)  
t1.start()  

可以完成同步上面程序的测试就采纳

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-02-25 16:22
    关注

    大概如下

    img

    app.py

    import json, time, random
     
    from threading import Thread
    from flask import *
    count=0
    def foo():
        global count
        while True:
            time.sleep(1)
            count += 1
            print(count)
    t1 = Thread(target=foo)  
    t1.start()  
     
    
    app = Flask(__name__)
    @app.route('/',methods=['GET','POST'])
    def index():
        return render_template('index.html')
    
    @app.route('/getcount',methods=['GET','POST'])
    def getcount():
        return str(count)
    
    
    app.run()
    
     
    
    

    templates\index.html

    <meta charset="utf-8" />
    <script src="https://g.csdnimg.cn/??lib/jquery/1.12.4/jquery.min.js"></script>
    <input type="button"value="加载服务器数据" onclick="callserver(this)" />
    <div id="dv"></div>
    <script>
        var timer
        function callserver(el) {
            var load = el.value == '加载服务器数据';
            el.value = load ? '停止加载' : '加载服务器数据'
            if (load) timer = setInterval(() => {
                $('#dv').load('/getcount')
            }, 2000);
            else clearInterval(timer)
        }
    </script>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月5日
  • 已采纳回答 2月25日
  • 创建了问题 2月25日

悬赏问题

  • ¥15 windows2019+nginx+php耗时久
  • ¥15 labelme打不开怎么办
  • ¥35 按照图片上的两个任务要求,用keil5写出运行代码,并在proteus上仿真成功,🙏
  • ¥15 免费的电脑视频剪辑类软件如何盈利
  • ¥30 MPI读入tif文件并将文件路径分配给各进程时遇到问题
  • ¥15 pycharm中导入模块出错
  • ¥20 Ros2 moveit2 Windows环境配置,有偿,价格可商议。
  • ¥15 有关“完美的代价”问题的代码漏洞
  • ¥15 请帮我看一下这个简易化学配平器的逻辑有什么问题吗?
  • ¥15 暴力法无法解出,可能要使用dp和数学知识