加载视图后如何执行功能

时间:2018-08-16 09:33:03

标签: php function codeigniter codeigniter-3 codeigniter-2

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

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

这导致加载查看页面的速度变慢。查看文件只是“谢谢”消息。

我没有通过此功能获取任何数据,这些数据应该显示在视图文件中。实际上,它正在更新数据库中的数据。所以问题是我如何加载我的视图文件,即快速感谢信息。任何帮助都是高度赞赏的。

2 个答案:

答案 0 :(得分:1)

@Hamed,这不会超出更新记录后呈现视图的目的吗?

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

他可以将数据“插入”到临时表中(比完全更新要快),向用户显示“谢谢”视图,并在一天中的以后以自己选择的时间间隔批量更新主表,即每6个小时,就像预定的脚本一样,并且每条记录都会在“主表”中进行更新,而临时表中的记录会被删除。

所有这些操作都在后台进行,而不会延迟用户体验。

  1. $ this-> _ save_in_temp_table($ alertDetail,$ alertID,$ alertUserId,$ email,$ alert_url,$ statusImage,$ userStatus);
  2. 向用户显示“谢谢”视图。
  3. 自动/手动运行调度程序以更新上述(1)中的数据。成功更新后,请从“临时表”中删除数据。
  4. 这样,用户无需等待很长时间,因为插入比更新快。

答案 1 :(得分:0)

想象一下您在控制器中有两个功能。

function loadPage(){

function showSuccesful(){

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

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

希望您能理解