精讲网页数据实时刷新实现

本文探讨了如何实现在网页上实时显示自动化任务的状态。通过前端的Ajax定时请求和WebSocket连接,两种方式与Django后端交互,获取数据库中的任务状态数据。WebSocket方案减少了网络请求次数,提高效率。后端使用Django框架,实现数据查询并主动推送至前端。
摘要由CSDN通过智能技术生成

本文仅为学技术而简单举例,后端框架是Django,具体业务逻辑是否合理可以不用管,下方是工作中需要实现的需求

自动化程序脚本运行的三种任务状态:

1、未执行  2、执行成功  3、执行失败  

任务状态在网页前端实时展示,需要每隔一段时间请求数据库中的状态数据字段为webtask_stu,并返回前端展示


640?wx_fmt=png

两种思路:

1、前端轮询,每请求一次,建立一次连接,后端返回前端数据一次

具体实现:设置定时器,每隔5s请求后端数据,后端返回数据后渲染前端


2、前端请求只建立一次连接,后端能持续主动向前端推送数据

具体实现:前端通过socket方式向后端建立连接,后端定时查询数据库数据,主动向前端推送,这种优点很明显,可以减少网络请求次数


方式一:Ajax定时请求:

1、前端设置定时器setInterval,定时器里面传ajax请求函数和时间

 
 
function get_stu_list(){ param = {}; $.post("/web/webtask_stu/",param,function(data){    var webtask_tu_list = data.webtask_stu;    console.log(webtask_tu_list);    var tr = $("tbody tr");   $.each(tr,function (i,ele) {      $(ele).find("td:eq(4)").text(webtask_tu_list[i])   });  });};setInterval(get_stu_list,5000);
 param = {};
 $.post("/web/webtask_stu/",param,function(data){
   var webtask_tu_list = data.webtask_stu;
   console.log(webtask_tu_list);
   var tr = $("tbody tr");
   $.each(tr,function (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值