具体需求: 是一个删除垃圾附件的方法,因为等待的时间太长,所以想弄进度条, 但是, 想要进度条的进度和后台执行方法的时候,删除的附件保持一致。 删除完成,进度条进度完成。
理想状态: 后台删除一个附件,前台页面进度条往前走一点,直到,删除完,进度条走完。
求救: 怎么样才能实现动态的和后台交互。各路大神,求救命。
用的是Extjs 写的页面。
各路神仙,赶紧啊。来不及了。
一开始获取删除附件的总大小,然后发循环请求获取剩余大小,每次得到结果后更新进度条
不要大小, 统计的是附件个数,可否告知,怎么实时返回数据, 前台接收怎么处理。 万分感谢。
@z_boke: 给你写了一个,去我的博客看下:http://www.cnblogs.com/xienb/p/3532913.html 对你有用的话点下支持
@深蓝色左手: 挺好的。 受教了。 但是还是差一点。 因为我的循环是在实现类里面写的。 要是在Action中就好办了。 实现类中遍历,删除。 我就不知道该怎么处理数据了。 该怎么返回了。 怎么接收。
@深蓝色左手: @z_boke: 有问题,我可以到你博客里留言吗?
@z_boke: 可以的,欢迎交流,一起学习
@深蓝色左手: 大神,帮我个忙啊。 extjs DataView 我想要移动里面的数据,可以手动拖拽换位置,我在tpl里放了一个图片。和一个链接, 链接地址是一个下载附件的功能。 我就是想可以拖拽里面的图片,放到别的位置。
轮询吧,不要想太多.最多就是轮询怎么做的好点.
不过Webqq的轮询方式非常牛逼,值得学习
Webqq轮询是什么?有资料吗>
@z_boke: 跟下面那个说的差不多.你在服务器上定义一个缓存项,做文件计数.每删一个文件就-1
然后写个页面,返回这个剩余文件数的值.或者直接存百分比
在前台不停的请求这个页面,就能得到百分比了
最简单的方法.
删除的时候获得附件总数, 写一个ajax方法. 返回附件数目
前面显示删除的进度.
不用搞什么进度条同步. web的进度条同步如果不是用到其他的技术. 都是骗人的
想法是这样, 但是后台,不打断循环的情况下,实时返回,删除数量,怎么返回? 还有前台接收,有什么好的办法接收吗?
@z_boke:
ondelete(){
ajax方法a。{
step1. 得到需要删除的附件总数。
// step1成功后step2, 如下
settime(1000ms, function(){每秒去后台读取现存附件数目, 并更新前端显示的总数进度条
当返回0的时候。 移除这个一秒一次的轮询并提示。
}
}
}