Php 使用jQuery.post()提交内容并显示正在发生的事情

Php 使用jQuery.post()提交内容并显示正在发生的事情,php,jquery,post,callback,Php,Jquery,Post,Callback,这更像是好奇,但我可以想到几个地方,主要是在管理部分,这可能是有用的。我知道标题令人困惑,所以我的意思是: 假设您有一个表单发布到example_cb.php。示例_cb.php是一个非常大的回调页面,它生成一个图像的多个缩略图,将它们放在各自的目录中,并将它们添加到数据库中,等等。您已经有了jquery发布的表单,其中包含如下函数 $.post('example_cb.php', $(this).serialize(), function(data) { // Success }, 'j

这更像是好奇,但我可以想到几个地方,主要是在管理部分,这可能是有用的。我知道标题令人困惑,所以我的意思是:

假设您有一个表单发布到example_cb.php。示例_cb.php是一个非常大的回调页面,它生成一个图像的多个缩略图,将它们放在各自的目录中,并将它们添加到数据库中,等等。您已经有了jquery发布的表单,其中包含如下函数

$.post('example_cb.php', $(this).serialize(), function(data) {
   // Success
}, 'json');
在发布之前,它会更新一个div,表示正在处理某些事情。然后,在成功完成后,div淡出。但是,您希望div显示服务器端正在发生的事情。i、 e.转换200X200拇指>转换350x350拇指>将记录添加到数据库>等

你如何做到这一点


我知道这是一个很复杂的问题,但我相信这里有足够聪明的人来解决这个问题。如果您需要更多信息,请评论:

您可以这样做-

将每个“事件”更新写入数据库表 编写一个从表中检索最后n个事件的页面 使用诸如调用页面更新屏幕上的div之类的方法 随着最新的进展。 使用“`保持更新。
使用push方法可以很容易地实现这一点,但我不太熟悉ajaxpush或comet技术,因此我将为您提供一个pull解决方案

基本上,您需要创建初始ajax请求来开始处理。然后,您需要在紧密循环中运行另一个请求,以检查php页面的当前状态。例如,在进行处理的php页面上,您可以更新一个_会话密钥,该密钥存储当前处理信息,例如在每个步骤转换200X200 thumb。另一个php页面将纯粹用于打印该信息,您可以使用循环运行的JS检索该信息。

类似服务可用于双向通信

我把它记下来以供参考,不过对于这样一个简单的场景来说,这样做太过分了