使用Ajax刷新ob_flush

时间:2012-05-07 22:00:06

标签: php ajax

好的,所以我创建了一个向导,一切都很好。但如果你愿意的话,我有一件似乎“打扰”我的小作品。

在我构建的向导的最后一步中,它使用obflush将数据处理到屏幕上 显示一些动作正在发生。但问题是,在完成obflush过程之后,“整个”页面才会加载,然后页面排列得很好,等等。

我想知道是否有这样的方式可能ajax可以冲洗obflush进程?

也许这是完全错误的,但这是我能想象它发生的方式。

用户通过向导进入最后一页 整个页面加载 在页面的末尾是一些应用于标签的ajax代码 ajax每秒刷新一次以检查obflush的更新,然后输出obflush输出到屏幕的内容。

这有意义吗?

非常感谢任何见解。

由于

1 个答案:

答案 0 :(得分:0)

这个问题是关于如何使用Ajax加载部分网页。特别是,如何加载页面结构,然后用Ajax调用填写详细信息。

我假设打算快速加载结构,因为它实际上有一些内容,然后加载需要很长时间才能处理的页面部分。否则屏幕上的效果将是加载实际上更慢。

我会使用JavaScript库jQuery来帮助解决这个问题,尽管它可以在没有任何库的情况下完成,如question所示。

  • 浏览器发出网页请求,服务器响应正常,但只是页面结构

  • 在加载的基本空白页面中,jQuery将与load()进行Ajax调用,将来自URL的响应加载到指定的HTML部分。

代码如下所示,其中my-intro-div是常规HTML div代码的ID:

$(function() {
    var myIntroDiv = $('#my-intro-div');    

    myIntroDiv.load('/my_intro_div.php');
});
  • PHP脚本my_intro_div.php返回要在my-intro-div标记内显示的HTML

这里的jQuery文档中有一些很好的例子:

http://api.jquery.com/load/

jQuery也可以帮助处理其他一些事情。它有一个微小的学习曲线,可能有点陡峭,但在那之后我发现它是我使用的最直观的“语言”。