我有一个控制器,他做了一些操作(第三方API调用,DB操作等),它需要5-6秒来完成它们。完成后,它调用此视图:$ this ->load->view('user/catalog',$params);
我不想让我的用户在白屏幕前等5-6秒,我想给他看一个“加载”屏幕,让他知道必须等一会儿,然后他才会看到结果。
我知道,如果要用Ajax进行操作,这并不复杂。但事实并非如此:
用户在这里: mysite.com/catalog ->控制器"Catalog“开始执行所有操作,完成后显示视图"/ user /catalog”。
我尝试添加$this->load-> view (‘user /load’);在Catalog控制器开始时直接调用,但是结果是在5-6秒之后,用户看到了“加载”和“目录”视图。
知道怎么做吗?
谢谢
发布于 2014-03-04 17:37:41
我还没有尝试过,但是您也可以通过服务器端来完成这个任务,而不是使用ob_flush()和()。请参考下面的示例代码,仅供参考,并通过下面的链接尝试一下:- 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 />';
?>https://stackoverflow.com/questions/22177547
复制相似问题