繁体   English   中英

渲染视图后的操作(codeigniter)

[英]action after render a view (codeigniter)

我想知道在使用codeigniter渲染视图后是否可以执行不同的操作,例如:

public function my_function()
{
    $data['var1'] = $this->make_one_action();
    $data['var2'] = $this->make_other_action();
    $this->load->view('a_view', $data);
    //and now... more actions??
    $this->make_dataBase_action();
}

我想做的是处理数据库中的某些数据,但不要等待用户进行此处理(当新视图不会向用户显示该操作时)。

还有一点……(一个不同的问题,但相关),我可以做这样的事情:

public function my_function()
{
    $data['var1'] = $this->make_one_action();
    $data['var2'] = $this->make_other_action();
    redirect(base_url()); //here is the difference
    //and now... more actions??
    $this->make_dataBase_action();
}

在这种情况下,我想将用户重定向到新页面,然后在数据库上进行处理。

谢谢。

重定向将停止执行PHP脚本,如果您希望可以加载页面并发送ajax请求来触发查询
假设您使用的是jQuery:在Controller上添加方法
function executeDbOnpageLoad(){$this->make_dataBase_action();} //add _get to the method name if CI Version 2

并将此行添加到您的“ a_view.php”

$(document).ready(function(){
   $.ajax("index.php?/ControllerName/executeDbOnpageLoad()")
})

(您需要使其更加安全,并确保用户不会多次触发该功能)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM