如何通知用户进度

时间:2011-11-09 22:03:12

标签: php javascript

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

无需通知用户进度或显示进度条,我只想在计算完成后立即更换网站。

除了简单的javascript之外,我想要清除任何其他的网络工具,因此this solution要复杂得多。

我的一个想法是在等待页面中从javascript启动http查询,并且在计算完成之前不返回服务器端的任何内容。这样我就会阻止查询,直到连接完成。完成后,我会返回一些内容并关闭连接,因此阻止的呼叫可以继续并重定向用户。但是,如果没有任何内容通过该连接,我担心这可能会让我在网络上超时。

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

3 个答案:

答案 0 :(得分:4)

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

基本上,您应该只是轮询服务器以获取作业上的状态更新,并且在返回1之前不执行任何操作

答案 1 :(得分:1)

我会选择ChrisR的解决方案。

当用户正在等待该过程完成时,您可以显示一个微调器(正如Greg所说),但我会选择一个更好的解决方案而不是GIF动画:)

我可以建议尝试Heartcode CanvasLoader吗?

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

祝你好运, 罗布

答案 2 :(得分:0)

为什么不使用微调图像? http://www.iconfinder.com/search/?q=spinner