2016-03-03 122 views
0

我有一个网站,使用eBay API加载到eBay和其他一切。jquery加载PHP页面,而PHP页面正在运行

主要文件是只包含在一个文件中的PHP,它在需要时调用脚本。

但我现在正在创建一个简单的网站,将被分割的中间一半包含指向脚本的链接,另一个是从PHP文件加载内容并显示此内容的纯空白div空格。

由于php文件大多运行在循环上,并且可以运行长达5分钟,我希望脚本能够回显它在空格中做了什么。

在分我使用

while (@ob_end_flush());  
ob_implicit_flush(true); 

所以PHP脚本输出的回波的文件结束前,但使用时:

function loadScript() { 
    $(".loading").load("load.php"); 
    Loaddelay = setTimeout('loadScript()',1000); 
} 
loadScript(); 

在主索引文件重新每1秒加载一次文件并不显示任何内容。因为脚本不能真正运行。

我有什么其他选项可以动态更改div容器,因此它包含正在运行的PHP脚本?

+1

您是否尝试过使用jQuery ajax? –

+1

@StijnBernards'$(“。loading”)。load(“load.php”);'是jQuery ajax。 – neilsimp1

+4

可能想使用网络套接字而不是ajax – charlietfl

回答

0

如果信息不是机密或敏感的,你可以做的一件事是管理脚本的输出,需要花时间执行到一个文件并使用jQuery.load()从你的页面读取该文件。

所以,你会:

  1. 定义会话变量,服务器和你的页面的JavaScript知道(这将定义文件名,内容将outputed到)
  2. 开始的执行用你自己的当前脚本按照预定义的时间间隔读取文件(名称在之前定义的文件)
  3. 当你的长脚本结束时,写一些特殊的字符你的文件结束,以便你停止他从客户端读取文件的

请注意,您将需要改进,如果用户是在同一时间

0

在我意识到,结束时执行多个页面,你定义会话变量的方法实际上我不需要像使用jQuery一样加载页面。

我刚刚结束了使用放置在div内的iframe。

<a onclick="loadThis('page.php')">Do some thing</a> 

<script type="text/javascript"> 
function loadThis(file) { 
    $("myiframe").attr("src", file"); 
} 
</script> 

它工作正常,并且会好于预期。不能相信我忽略了使用iframe。