根据php文件的输出动态加载html

时间:2014-09-23 16:53:55

标签: javascript php jquery html

我正在尝试在html div中加载php文件的输出。我用jQuery的($('div').load(url_here))方法尝试了它,它工作正常,但我的php文件如下:

<?php
for( $i = 0 ; $i < 10 ; $i++ )
{
    echo date('h:i:s').'<br>';
    //flush the output buffer
    flush();
    //send the output buffer
    ob_flush();
   //sleep here
    sleep(1);
} ?>

现在这个php文件每秒打印一行,但是当我在html的div中加载这个php时,一旦加载页面需要10秒,然后一起添加10行。我想加载div,因为php文件每秒返回一行。我的意思是,我希望html与php一样响应(即每秒加载一行,所以在第1秒它应该加载第1行,在第2秒它应该添加第2行,依此类推)。那么,有可能吗? (P.S - 我是这个动态网络的初学者)

2 个答案:

答案 0 :(得分:1)

为了在每分钟获得结果,你必须每分钟打开一个ajax请求来控制javascript中的时间,而不是php。

尝试:

var timer = window.setInterval(function()
{
    $('div').load(url_here); 
}, 1000);

删除for循环和php中的sleep()

<强>更新

要保留结果的历史记录,请尝试以下方法:

var content = $('div').text();
$('div').load(url_here).append(content);

答案 1 :(得分:0)

PHP

   <?php

        echo date('h:i:s').'<br>';

    ?>

和JS

<script>

var timer_php = setInterval(function(){
$("#anydiv").load("abovefile.php");
},1000);

setTimeout(function(){
clearTimer(timer_php);
},10000);
</script>