为什么json数据显示在codeigniter HMVC-AJAX的头文件中

时间:2017-11-26 13:56:11

标签: json ajax codeigniter hmvc

我是ajax的新手,我不知道如何克服这个错误。我不明白这个错误。请帮忙。

这是我的Modal User_m。

我成功从数据库中获取数据

    <?php
  class Users_m extends CI_Model
  {
    public function showAllAdmins()
    {
      $query  = $this->db->get('admin_users');
      if($query->num_rows() > 0){
          return $query->result();
      }else{
          return false;
      }
    }
  }
?>

这是我的Controller AdminUsers

我通过我的模态从数据库中获取所有数据,并使用json_encode对其进行编码 但我不知道为什么这个json数据显示在我的页面标题上。In this Image     

  class AdminUsers extends MY_Controller
  {
    public function __construct()
    {
      parent::__construct();
      $this->load->model('AdminUsers/Users_m');
    }

    public function index()
    {
      $data['content_view'] = 'AdminUsers/viw_users';
      $data['page_title']   = 'Users';
      $data['page_descr']   = 'all admin users';
      $result  = $this->Users_m->showAllAdmins();

      echo json_encode($result);
      $this->template->admin_template($data);
    }
}

这是我的ajax代码

当我每次刷新页面时,它都会执行警报无法从数据库中获取数据。我不知道如何在ajax中传递Json数据。我看到控制台日志但没有显示任何错误。我也加载了jQuery。任何帮助将不胜感激。谢谢你的回答。 当我循环通过它时,它会变为无穷大。

 $(function(){
      showAllAdmins();

        function showAllAdmins(){
          $.ajax({
              type:'ajax',
              url: 'http://localhost/hmvcExample/AdminUsers',
              async:false,
              success: function(data){
                var html  = '';
                var i = 0;
                for(i=0; i<data.length; i++){
                    html +='<tr>'+
                              '<td>Rakesh</td>'+
                              '<td>Kumar</td>'+
                              '<td>Rakeshkrishan1992@gmail.com</td>'+
                              '<td>Rocky</td>'+
                              '<td><a href="#"><button class="btn btn-primary">Edit</button></a> <a href="#"><button class="btn btn-danger">Delete</button></a></td>'+
                            '</tr>';
                }
                $('#showData').html(html);
              },
              error: function(){
                alert('Could not load Data from Database');
              }

          });
        }
    });

查看文件

<div class="box">
  <div class="box-header">
    <h3 class="box-title">Users List</h3>
    <button class="btn btn-success pull-right">Add New</button>
  </div>
  <!-- /.box-header -->
  <div class="box-body">
    <table id="example2" class="table table-bordered table-hover table-responsive">
      <thead>
      <tr>
        <th>First Name</th>
        <th>Last Name</th>
        <th>Email Address</th>
        <th>User Name</th>
        <th>Action</th>
      </tr>
      </thead>
      <tbody id="showData">

      </tbody>
    </table>
  </div>
  <!-- /.box-body -->
</div>

1 个答案:

答案 0 :(得分:1)

我发布了示例代码。请参考。

<table id="example1" class="table table-bordered table-striped">
                    <thead>
                    <tr>
                        <th>Slno</th>
                        <th>Name</th>
                        <th>Username</th>
                        <th>Email</th>
                        <th>Status</th>
                        <th>Actions</th>
                    </tr>
                    </thead>
                    <tbody id="user_table">
                        <?php if($result) { $i =1; foreach ($result as $row){ ?>
                        <tr>
                            <td><?php echo $i; ?></td>
                            <td><?php echo $row->fullname; ?></td>
                            <td><?php echo $row->username; ?></td>
                            <td><?php echo $row->email; ?></td>
                            <td><?php if($row->active == "1"){ ?>
                                <span class="label label-success"><?php echo 'Active'; ?></span>  
                            <?php }elseif($row->active == "0"){ ?>
                                <span class="label label-warning"><?php echo 'Inactive'; ?></span>
                            <?php } ?></td>
                            <td>
                                <div class="btn-group">
                                    <a class="btn btn-xs btn-success" href="<?php echo base_url().'admin/user/view_user?id='.$row->user_id.'&action=edit'; ?>" title="View">
                                      <i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
                                    </a>
                                </div>
                            </td>
                        </tr>
                        <?php  $i++; } } ?>
                    </tbody>
                  </table>

您必须按如下方式从控制器传递数据

$data['result'] = $result; //your sql query resultset
$this->template->admin_template($data);

根本不需要使用ajax。希望这可以帮到你。 如果您有任何疑问,请随时询问。