一个耗时的请求,怎么可以通过ajax在页面处理进度。
假如需要一次处理10个任务,每处理完一个任务输出已处理任务数量和总计任务数量,也就是任务完成百分比。
怎么可以在前台实时接收后台数据,真实的显示进度?
感谢大家的回复。
如果在后台页面处理,并同时采用Response.Write输出进度的话,在前台通过ajax获取不到数据。
1、循环定时请求;
2、长轮训;
3、Websocket(SignalR)
4、SSE(服务端事件推送)
setInterval() 加载js函数,函数中用ajax调用后台数据
消息推送,以前用过signalr推送信息到前端。
可以参考下这个思路。后端处理完一个任务,就推送一条数据到前端,前端获取这条数据,来更新整体完成进度。
在后台定义一个静态的或者合适的变量来缓存任务的进度,前台每隔一会儿Ajax查询一下进度。