2012-05-07 42 views
0

好吧,我创建了一个向导,一切都很好。但是如果你愿意的话,我有一件似乎'打扰'我的小东西。使用Ajax刷新obflush

在我构建的向导的最后一步中,它使用obflush将数据处理到屏幕 以显示一些正在发生的操作。但问题在于,整个页面只有在obflush过程完成之后才会加载,然后页面就会很好地排列起来。

我想知道是否有这样一种方式,也许ajax可以冲刷obflush过程?

也许这是完全错误的,但这是我如何设想它的发生。

用户会突破向导,并得到最终页面 整个页面加载 在页面的到底是一些Ajax代码应用到标记也许 阿贾克斯被刷新自身每秒钟要检查的更新然后将输出的内容输出到屏幕上。

这有道理吗?

任何洞察力,非常感谢。

感谢

+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返回一个,就是要显示的HTML里面的my-intro-div标签

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

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

jQuery可以帮助一吨其他的东西。它有一个微小的学习曲线,可能有点陡峭,但之后我发现它是我使用的最直观的“语言”。

+0

所以我想知道如果我们不能让页面完全加载,然后在该页面的顶部放置一个新层来开始解析数据。我尝试了iframe技巧,但这不起作用 - 它只是立即返回所有obflush数据。基本上想要它“,一个页面,继承人中间 - 现在我们加载到那个晦涩” –

+0

所以你想加载结构可以这么说,让一切正常排列,并加载内容在一个或多个“盒子”? –

+0

如果是这样的话,你需要看看阿贾克斯。我最喜欢的做法是使用jQuery,它使得它非常容易,例如,将一些HTML加载到div中。看看这个链接:http://api.jquery.com/load/ –