如何从视图中调用codeigniter控制器功能?当我在控制器中调用该函数时,获得一个404页面.
saa*_*aad 41
您可以通过以下方式从视图中调用控制器功能:
控制器:
public function read() {
$object['controller'] = $this;
$this->load->view('read', $object);
}
Run Code Online (Sandbox Code Playgroud)
视图:
// to call controller function from view, do
$controller->myOtherFunct();
Run Code Online (Sandbox Code Playgroud)
env*_*sea 15
Codeigniter是一个MVC(模型 - 视图 - 控制器)框架.从视图中调用函数真的不是一个好主意.视图应仅用于演示,并且在进入控制器和模型中的视图之前,应该发生所有逻辑.
澄清最佳实践的一个良好开端是遵循本教程:
https://codeigniter.com/user_guide/tutorial/index.html
它很简单,但它确实提供了一个很好的操作方法.
我希望这有帮助!
您可以在视图上使用AJAX调用控制器函数.在这种情况下,我正在使用jQuery库进行调用.
<script type="text/javascript">
$.ajax({
url: "<?=site_url("controller/function")?>",
type: "post", // To protect sensitive data
data: {
ajax:true,
variableX: "string",
variableY: 25
//and any other variables you want to pass via POST
},
success:function(response){
// Handle the response object
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
这样,您可以创建代码(模块)的一部分,并在HTML容器中重新加载AJAX方法.
我想回答这个问题,因为搜索一直在出现-
您可以在视图中调用控制器方法,但是请注意,在任何包含代码点火器的MVC中,这都不是一个好习惯。
您的控制器可能像下面的类-
<?php
class VCI_Controller extends CI_Controller {
....
....
function abc($id){
return $id ;
}
}
?>
Now You can call this function in view files as below --
<?php
$CI =& get_instance();
$CI->abc($id) ;
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
124361 次 |
| 最近记录: |