如何通知用户进度


How to notify user of progress

我目前正在计划一个基于web的应用程序,需要根据请求在服务器上进行长时间的计算。现在我想向用户显示一个通知,表示计算正在进行中,然后在计算完成后立即重定向该页面。

不需要通知用户进度或显示进度条,我只想在计算完成后立即交换站点。

我试图保持任何额外的webkit除了纯javascript,所以这个解决方案是复杂得多。

我的一个想法是在等待页面中从javascript开始一个http查询,而不是在服务器端返回任何东西,直到计算完成。这样,我将保持查询阻塞,直到连接完成。一旦完成,我返回一些东西并关闭连接,因此被阻塞的调用可以继续并重定向用户。但是,我担心如果没有任何东西通过该连接,这可能会在网络上给我一个超时。

这样的事情通常是如何处理的?

通常的处理方式是定期调用返回进度的页面。最简单的方法是每隔X秒运行一次ajax调用,未完成时返回0,完成时返回1。

基本上,您应该轮询服务器以获取作业的状态更新,并且在它返回1之前什么都不做

我会选择ChrisR的解决方案。

当用户等待过程完成时,您可以显示一个旋转器(如Greg所说),但我更倾向于一个更花哨的解决方案,而不是一个动画gif:)

我可以建议尝试Heartcode CanvasLoader吗?

http://heartcode.robertpataki.com/canvasloader/

祝你好运,Rob

为什么不直接使用旋转图像呢?http://www.iconfinder.com/search/?q=spinner