如何在加载视图后执行功能

How to execute function after loading the view

我正在使用 Codeigniter,我的控制器中有两个功能。问题是我的视图文件加载速度很慢。当我弄清楚时,我开始知道在我的函数中有一个函数调用在加载视图页面之前,例如

$this->_review_and_give_point_for_alert($alertDetail, $alertID, $alertUserId, $email, $alert_url, $statusImage, $userStatus); 

这导致加载视图页面缓慢。查看文件只是一条 'thankyou' 消息。

我没有通过这个应该显示在视图文件中的函数得到任何数据。事实上它正在更新数据库中的数据。所以问题是我如何加载我的视图文件,即快速感谢消息。任何 帮助 将不胜感激。

假设您在控制器中有两个函数。

function loadPage(){

function showSuccesful(){

向客户显示视图的 loadPage() 非常慢。 在您的 viewfile.html 中,您可以让 Ajax function 在控制器中调用 showSuccesful 说页面已加载!成功。

您可以在脚本标签中的 $(document).ready() 中调用 Ajax function

希望你明白。

@Hamed,这不是违背更新记录后呈现视图的目的吗?

如果由于某种原因更新失败怎么办?

他可以 'insert' 临时 table 中的数据(比完整更新更快),向用户呈现 'Thank You' 视图并批量更新 master-table 当天晚些时候按照他选择的时间间隔,即每 6 小时一次,就像预定的脚本一样,当每条记录在 'master-table' 中更新时,临时 table 中的记录被删除.

所有这些都在后台发生,不会延迟用户体验。

  1. $this->_save_in_temp_table($alertDetail, $alertID, $alertUserId, $email, $alert_url, $statusImage, $userStatus);
  2. 向用户显示 "Thank You" 视图。
  3. 运行调度器automatically/manually更新上面(1)中的数据。更新成功后从 "Temp Table" 中删除数据。
  4. 这样,用户就不会等待很长时间,因为插入比更新快。