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

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日

悬赏问题

  • ¥20 请问,这个视频播放软件的名称
  • ¥15 运筹优化,gurobi,python
  • ¥20 画CAD几张图片内容如下1111111111111111111111111111111111111111111
  • ¥15 基于python的电影系统推荐
  • ¥20 springmvc重定向和返回json
  • ¥15 数学建模——参会安排怎么做
  • ¥15 电脑键盘实现触摸功能
  • ¥25 matlab无法将表达式转换为双数组怎么解决?
  • ¥15 单片机汇编语言相关程序
  • ¥20 家用射频美容仪技术规格