[英]yii - action render a view after ajax request but the view is not show in browser
[英]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.