我有一个控制器进行了一些操作(第三方API调用,数据库操作等),完成它们需要5-6秒。完成后,它会调用此视图:$ this-> load-> view('user / catalog',$ params);
我不想让我的用户在白色屏幕前等待5-6秒,我想向他显示一个“正在加载”屏幕,以便让他知道必须等待一段时间,然后他会看结果。
我知道如果在Ajax中进行操作,这并不复杂。但事实并非如此:
用户访问:mysite.com/catalog - > controller“Catalog”开始执行所有操作,完成后显示视图“/ user / catalog”。
我尝试添加$ this-> load->视图('user / loading');在目录控制器的开头调用,但结果是在5-6秒后,用户一个接一个地看到“加载”和“目录”视图。
知道怎么做吗?
由于
答案 0 :(得分:0)
我还没有尝试过,但是你可以通过服务器端来做,而不是使用flush()和ob_flush()来使用ajax。 请参阅以下示例代码,仅供参考,并通过以下链接试一试: - http://in1.php.net/ob_flush
<?php
header( 'Content-type: text/html; charset=utf-8' );
echo 'Begin ...<br />';
for( $i = 0 ; $i < 10 ; $i++ )
{
echo $i . '<br />';
flush();
ob_flush();
sleep(1);
}
echo 'End ...<br />';
?>