我有一个长期运行的任务,使用jquery ajax调用.我正在使用
block ui plugin to show“装载”.无论如何我可以将进度消息发送回客户端以显示进度并在块ui插件消息上更新.
所以它会显示这一点(因为服务器完成它的工作). .
“加载第一个来源……”
“加载第二个来源……”
“加载第三个来源……”
“解析结果……”
解决方法
从我所看到的上传内容的情况来看 – 人们创建一个单独的网关并查询它的进度信息,因为它只在服务器端可用.但我认为这不是你个案中最好的事情.
如果您想要加载具有进度信息的内容或允许服务器在生成输出时弹出进度信息,那么http流是您想要的.它很好地覆盖了here.基本上它是一个单一的http请求,服务器以块的形式响应一分钟左右(因此在需要时发送内容)然后打开一个新连接.
这对我来说是一个发现;)
[编辑]
目前有许多更好的技术可用,并且所有这些都在Socket.IO中被包含 – Websockets与其他技术的回退,包括http流
Socket.IO是nodeJS的一个模块,但还有其他类似的实现.我已经从https://github.com/Atmosphere/atmosphere用JAVA Socket.IO实现交换了一些数据包