Mysql 在不刷新页面的情况下,使用jQuery AJAX请求CodeIgniter将数据库中的数据从控制器显示到视图

Mysql 在不刷新页面的情况下,使用jQuery AJAX请求CodeIgniter将数据库中的数据从控制器显示到视图,mysql,ajax,database,codeigniter,Mysql,Ajax,Database,Codeigniter,如何在Codeigniter中加载页面的特定部分?Ajax正在工作,但它通过调用控制器名称(如页眉、正文、页脚)重新加载所有视图,但我只想重新加载正文,如何分离代码才能正常工作 其Ajax代码 $('label#showdata').click(function(){ var fromdate =document.getElementById('fromdate').value; var todate = $(this).val();

如何在Codeigniter中加载页面的特定部分?Ajax正在工作,但它通过调用控制器名称(如页眉、正文、页脚)重新加载所有视图,但我只想重新加载正文,如何分离代码才能正常工作

其Ajax代码

$('label#showdata').click(function(){

          var fromdate =document.getElementById('fromdate').value;
          var todate = $(this).val();
          var dataString = 'fromdate='+ fromdate+'todate='+todate;

            $.ajax({
        type: "POST",
        url: "https://chotigaadi.com/myadmin/references",
        data: dataString,
        cache: false,
        success: function(html)
        {
        $("div#result").html(html).show();
        //alert(dataString);
        }
        });
      });
这是我的观点

<div class="col s12 m12">
    <form action="<?php echo base_url();?>myadmin/ExportCSV" method="POST">
        <div class="col s12 m3">
            <h5 class="center" style="color:green;font-weight:bold;">Registered Members List</h5>
        </div>
        <div class="col s12 m2">
            <div class="input-field col s12">
                <label for="date"> <i class="fa fa-calendar"></i> Select from date below:</label>
                </br>
                <input name="fromdate" id="fromdate" type="date" class="datepicker" required>

            </div>
        </div>
        <div class="col s12 m3">
            <div class="input-field col s12">
                <label for="date"> <i class="fa fa-calendar"></i> Select to date below:</label>
                </br>
                <input name="todate" id="todate" type="date" class="datepicker" required>

            </div>

        </div>
        <div class="col s12 m4">
            <div class="col s6">
                <label id="showdata" class="btn waves-effect waves-light orange right" value="Show">Show Results</label>
            </div>
            <div class="col s6">
                <input type="submit" id="datesubmit" class="btn waves-effect waves-light green right" value="Export Data" />
            </div>
        </div>
    </form>
    <div id="result">
        <table class="highlight">
            <thead>
                <tr style="background-color:#ccc;">
                    <th data-field="name">ID</th>
                    <th data-field="name">Referee</th>
                    <th data-field="rname">Reference</th>
                    <th data-field="email">Email</th>
                    <th data-field="phone">Phone</th>

                </tr>
            </thead>
            <tbody>
                <?php 
                      foreach ($results as $row)
                      {?>
                    <tr style="">

                        <td>
                            <?php echo $row->firstname;?>
                        </td>
                        <td>
                            <?php echo $row->name; ?>
                        </td>
                        <td>
                            <?php echo $row->email; ?>

                        </td>
                        <td>
                            <?php echo $row->phone; ?>
                        </td>
                    </tr>
                    <?php }?>
            </tbody>
        </table>
    </div>
</div>

我只想将视图重新加载为$this->load->view('/admin/myadmin',$data);通过ajax,我如何做到这一点

如果只想更改中间部分,不要在ajax调用函数中加载页眉和页脚

删除这两行:

function references(){
        if (!$this->check_user()) {
            redirect('myadmin/login/');
        }
        else
        {
            if(isset($_POST['fromdate']) && isset($_POST['todate']))
               { 
                $fromdate=new DateTime(str_replace("-","",$_POST['fromdate']));
                $fromdate=$fromdate->format('Y-m-d H:i:s');
                $todate=new DateTime(str_replace("-","",$_POST['todate']));
                $todate=$todate->format('Y-m-d H:i:s');
               }
               else
                {
                $fromdate=new DateTime('2015-12-10 14:28:27');
                $fromdate=$fromdate->format('Y-m-d H:i:s'); 
                $todate=new DateTime(date("Y-m-d"));
                $todate=$todate->format('Y-m-d H:i:s');
                }


            $config = array();
            $config["base_url"] = base_url() . "myadmin/references";
            $config["total_rows"] = $this->myadmin_model->record_count($fromdate, $todate);
            $config["per_page"] = 8;
            $config["uri_segment"] = 3;

            $this->pagination->initialize($config);

            $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
            $data["results"] = $this->myadmin_model->fetch_userdata($config["per_page"], $page, $fromdate, $todate);
            $data["links"] = $this->pagination->create_links();



        $this->load->view('/admin/myadminheader');
        $this->load->view('/admin/myadmin',$data);
        $this->load->view('/admin/myadminfooter');
        }
    }
$this->load->view('/admin/myadminheader'); 
$this->load->view('/admin/myadminfooter');
$this->load->view('/admin/myadmin',$data); 
仅此而已:

function references(){
        if (!$this->check_user()) {
            redirect('myadmin/login/');
        }
        else
        {
            if(isset($_POST['fromdate']) && isset($_POST['todate']))
               { 
                $fromdate=new DateTime(str_replace("-","",$_POST['fromdate']));
                $fromdate=$fromdate->format('Y-m-d H:i:s');
                $todate=new DateTime(str_replace("-","",$_POST['todate']));
                $todate=$todate->format('Y-m-d H:i:s');
               }
               else
                {
                $fromdate=new DateTime('2015-12-10 14:28:27');
                $fromdate=$fromdate->format('Y-m-d H:i:s'); 
                $todate=new DateTime(date("Y-m-d"));
                $todate=$todate->format('Y-m-d H:i:s');
                }


            $config = array();
            $config["base_url"] = base_url() . "myadmin/references";
            $config["total_rows"] = $this->myadmin_model->record_count($fromdate, $todate);
            $config["per_page"] = 8;
            $config["uri_segment"] = 3;

            $this->pagination->initialize($config);

            $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
            $data["results"] = $this->myadmin_model->fetch_userdata($config["per_page"], $page, $fromdate, $todate);
            $data["links"] = $this->pagination->create_links();



        $this->load->view('/admin/myadminheader');
        $this->load->view('/admin/myadmin',$data);
        $this->load->view('/admin/myadminfooter');
        }
    }
$this->load->view('/admin/myadminheader'); 
$this->load->view('/admin/myadminfooter');
$this->load->view('/admin/myadmin',$data); 
在ajax响应中,这将只返回中间部分,而不是页眉和页脚

旁注


如果直接从某个位置使用此函数,则需要从ajax请求传递任何参数,以检查是否有来自ajax的请求。

不要在控制器函数中加载视图。只需在控制器函数中打印结果,然后编写一个die()函数。在加载html之前,请清除JavaScript函数中的result div。

我以前尝试过,但是页面只显示正文内容,没有页眉菜单和页脚。但是重新加载所有脚本文件和样式表怎么样?那么ajax的用途是什么呢@devpro@suresh-shinde我想已经加载了页眉和页脚,并且页眉中包含CSS脚本文件。我们如何在控制器中加载页眉和页脚?我想从Ajax调用哪个控制器。因此,它可以作为页面正常工作,而无需重新加载页眉和页脚。@suresh shinde u可以调用任何函数,确保页眉或页脚不是div#result的一部分