2009-04-29 34 views
4

我有一个过程,我想在页面的背景中运行。这个过程需要一段时间才能完成,比如说几分钟。AJAX(原型/ php)在脚本执行过程中获取部分状态更新

我已经设置好了,从页面上我可以点击一个按钮来启动这个过程,稍等一会,然后它就会完成,我可以通过页面更新通知我该过程已成功运行。我正在做这与原型和PHP。

我想要做的是在进程运行时进行状态更新。所以它可以更新一个页面,让我知道到目前为止已经处理了多少记录,或更新状态栏或类似的东西。

这可能吗?我只是不是一个巨大的JS大师,我可以做我已经描述的基本功能,但想知道是否有可能扩展它做这个额外的一点,因为我没有任何运气谷歌搜索或通过文档。

回答

2

只要使用PHP,你就可以最终完成轮询。您需要在后台生成长时间运行的进程,例如向文件数据库写入进度信息。

然后,浏览器可以每x秒调用一次不同的php脚本,并以此状态报告。

轮询虽然很糟糕,但这就是你用PHP所坚持的。

+0

因此,分叉进程,然后让进程更新文件/数据库...好的,可以工作。你说那是我坚持使用的PHP,我的意思是我可以用python或perl或其他方式编写这个特定的模块,那么其他一些不需要轮询的选项是什么?只是好奇。 – 2009-04-29 13:40:39