Codeigniter 数据表不显示
我是jQuery和Ajax的新手,但我发现了一个使用CodeIgniter和datatables的组合示例。我确实尝试了与示例相同的方法,但是我的数据表没有显示出来 控制器Codeigniter 数据表不显示,codeigniter,datatables,Codeigniter,Datatables,我是jQuery和Ajax的新手,但我发现了一个使用CodeIgniter和datatables的组合示例。我确实尝试了与示例相同的方法,但是我的数据表没有显示出来 控制器 class User extends CI_Controller { private $content; private $data; function __construct(){ parent::__construct(); $this->load->m
class User extends CI_Controller {
private $content;
private $data;
function __construct(){
parent::__construct();
$this->load->model('usermodel');
$this->init();
}
function init(){
if( $this->session->userdata('username') == '' ) redirect('auth');
$this->data['username'] = $this->session->userdata('username');
}
function index(){
//$this->content = $this->load->view('userListView', null, true);
$this->content = 'users';
$this->data['content'] = $this->content;
//$this->data['users'] = json_encode($this->usermodel->getDataTable());
$this->load->view('home', $this->data);
}
function data() {
//print_r($this->usermodel->getDataTable());
echo json_encode($this->usermodel->getDataTable());
exit;
}
模型
看法
主视图
<html>
<head>
<title>Admin MOS Template</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Copyright" content="">
<meta name="description" content="Admin MOS Template">
<meta name="keywords" content="Admin Page">
<meta name="author" content="">
<meta name="language" content="Bahasa Indonesia">
<link rel="shortcut icon" href="stylesheet/img/devil-icon.png"> <!--Pemanggilan gambar favicon-->
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>include/mos_admin/mos-css/mos-style.css"> <!--pemanggilan file css-->
<link type="text/css" href="<?php echo base_url(); ?>include/css/jquery.dataTables.css" rel="Stylesheet" />
<link type="text/css" href="<?php echo base_url(); ?>include/css/smoothness/jquery-ui-1.8.19.custom.css" rel="Stylesheet" />
<script type="text/javascript" src="<?php echo base_url(); ?>include/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="<?php echo base_url(); ?>include/js/jquery.dataTables.min.js"></script>
</head>
<body>
<?php
//print_r($users);
//echo $strFormType;
?>
<div id="header">
<div class="inHeader">
<div class="mosAdmin">
<?php $this->load->view('headerview');?>
</div>
<div class="clear"></div>
</div>
</div>
<div id="wrapper">
<div id="leftBar">
<?php $this->load->view('leftBarview'); ?>
</div>
<div id="rightContent">
<?php
if($content == 'changepass'){
$this->load->view('changepassview');
}
else if($content == 'form'){
$this->load->view('userformview');
}
else if($content == 'users'){
$this->load->view('userlistview');
}
else{
$this->load->view('rightContentview');
}
?>
</div>
<div class="clear"></div>
<div id="footer">
<?php $this->load->view('footerview'); ?>
</div>
</div>
</body>
</html>
您是否碰巧将$this->data中的“data”对象与函数数据等中的数据方法混淆了?对于使用ajax,您还需要使用js代码,类似于jquery:
$(document).ready(function() {
$('#element_trigger_ajax').click(function(){
var my_url = 'YOUR URL';//www.example.com/user/data
params = {elem_id:$('#some_param').val()};
$.ajax({
async:false,
type:'POST',
url: my_url,
data:params,
success: function(resp){
# This will load the response from your data method in the user controller within the element container div
$('div#element_container_that_will_change').html(resp);
}
});
});
});
调用index.php/user/data时不要包含index.php。只使用:你得到了什么错误?Donny到底缺少了什么?@Marko:我没有生成.htaccess,所以我必须包含index.php,所有:我的问题已经解决了,我只是缺少layout.js和jquery.ui.js来包含在home中。php:我很高兴你解决了这个问题。虽然您没有htaccess,但在使用base_url时不必包含index.php;应该是如果$此->会话->用户数据'username'重定向'auth';thx for advance before despina,我的问题已经解决了,我只是缺少layout.js和jquery.ui也包括:D
<html>
<head>
<title>Admin MOS Template</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Copyright" content="">
<meta name="description" content="Admin MOS Template">
<meta name="keywords" content="Admin Page">
<meta name="author" content="">
<meta name="language" content="Bahasa Indonesia">
<link rel="shortcut icon" href="stylesheet/img/devil-icon.png"> <!--Pemanggilan gambar favicon-->
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>include/mos_admin/mos-css/mos-style.css"> <!--pemanggilan file css-->
<link type="text/css" href="<?php echo base_url(); ?>include/css/jquery.dataTables.css" rel="Stylesheet" />
<link type="text/css" href="<?php echo base_url(); ?>include/css/smoothness/jquery-ui-1.8.19.custom.css" rel="Stylesheet" />
<script type="text/javascript" src="<?php echo base_url(); ?>include/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="<?php echo base_url(); ?>include/js/jquery.dataTables.min.js"></script>
</head>
<body>
<?php
//print_r($users);
//echo $strFormType;
?>
<div id="header">
<div class="inHeader">
<div class="mosAdmin">
<?php $this->load->view('headerview');?>
</div>
<div class="clear"></div>
</div>
</div>
<div id="wrapper">
<div id="leftBar">
<?php $this->load->view('leftBarview'); ?>
</div>
<div id="rightContent">
<?php
if($content == 'changepass'){
$this->load->view('changepassview');
}
else if($content == 'form'){
$this->load->view('userformview');
}
else if($content == 'users'){
$this->load->view('userlistview');
}
else{
$this->load->view('rightContentview');
}
?>
</div>
<div class="clear"></div>
<div id="footer">
<?php $this->load->view('footerview'); ?>
</div>
</div>
</body>
</html>
$(document).ready(function() {
$('#element_trigger_ajax').click(function(){
var my_url = 'YOUR URL';//www.example.com/user/data
params = {elem_id:$('#some_param').val()};
$.ajax({
async:false,
type:'POST',
url: my_url,
data:params,
success: function(resp){
# This will load the response from your data method in the user controller within the element container div
$('div#element_container_that_will_change').html(resp);
}
});
});
});