我正在尝试在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 - 我是这个动态网络的初学者)
答案 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>