加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

005.后台处理进度实时显示

发布时间:2020-12-16 02:59:39 所属栏目:百科 来源:网络整理
导读:一.思路 大致是利用两个ajax和全局变量来实现该功能。 图解如下: 主ajax---》发送数据请求---》将处理进度写入全局变量 辅助ajax--》获取全局变量---》前台显示 下载前,前台实时显示后台的处理进度效果图: ? ? 二、具体实现过程 辅助ajax后台实现过程如下

一.思路

大致是利用两个ajax和全局变量来实现该功能。

图解如下:

主ajax---》发送数据请求---》将处理进度写入全局变量

辅助ajax--》获取全局变量---》前台显示

下载前,前台实时显示后台的处理进度效果图:

?

?

二、具体实现过程

辅助ajax后台实现过程如下:

1.先创建一个全局变量类

map全局变量存储所有进度信息,利用map的特性,可以多并发处理多用户请求,互不干扰。

?

2.创建辅助请求类,用于返回处理进度到前台

因为本人公司请求方式不一样,你们可以使用注解方式提供请求地址,这个没关系。也可以使用responsebody返回数据到前台,只要ajax能接受到数据就可以。

请求的时候请加上参数,progress=‘id’,因为每个用户都有唯一的id,通过这个id作为key来保证用户之间的进度数据互不干扰。

?

?

3.主ajax后台请求类

这个就是你们的业务逻辑所在的位置了,把处理的进度信息添加到全局变量map就可以。

我是在业务处理类中最占用时间的for循环中将处理进度添加到map中的。

?

?

?

?

?

好了以上的后台写好了,接下来便是前端显示的问题。要辅助ajax获取到进度信息,显示的事情就很简单了,什么ui框架之类的用个进度条功能就可以了.

我用的是easyui,其他诸如bootstrap之类的也可以.

?

三、前台进度条实时展示

1.添加显示标签栏(easyui的进度条bar,注意先引用插件的js、css)

?

?

2.两个ajax的调用

定义一个javascripte定时器变量t1和一个uuid变量

?

主ajax,请求一定要记得传个uuid

主ajax如下:

定义一个javascript定时器变量t1和一个uuid变量,

红框框这两者一般放在点击事件的函数里面一起执行。

?

定时器调用的刷新实时进度的函数(辅助ajax),以及uuid函数

?

?

好了,各位应该知道怎么实现整个功能了吧。在下代码实在是不咋地,就别在意这点了,希望对各位工作或是学习有帮助!谢谢!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读