在服务器处理请求时显示加载图像

时间:2014-03-08 12:58:57

标签: php codeigniter

我想知道在加载页面时是否可以在浏览器上显示某些内容。例如,如果我在主页上并且单击关于我们页面,浏览器将向服务器发送http请求,服务器将处理请求并执行所需操作并将关于我们页面发送回客户端(浏览器)。现在假设整个过程需要2-3秒,浏览器窗口在此期间保持空白。所以我想知道在服务器处理请求时是否有可能在页面上加载类似的东西。

我知道可以使用jquery和ajax,但我正在寻找任何其他选项。

我正在使用codeigniter框架的PHP。

1 个答案:

答案 0 :(得分:0)

感谢您的建议,但正如我所说,我不想出于安全目的使用jQuery或ajax ......

无论如何,我找到了回答我自己的问题。它可以使用Php的输出缓冲控制来完成。我们需要在输出中回显您想要的内容,然后将数据刷新到浏览器。这样,即使服务器正在处理请求,浏览器也会开始接收输出。

这个例子可以解释它:

<?php
header( 'Content-type: text/html; charset=utf-8' );   //this tells browser that its html
echo 'Begin ...<br />';
for( $i = 0 ; $i < 10 ; $i++ ) //loop to process
{
    echo $i . '<br />'; //display current value
    flush();            //flush buffer data to browser
    ob_flush();         //flush buffer data to browser
    sleep(1);           //wait for 1 second
}
echo 'End ...<br />';

?>