在Codeigniter 4中使用 AJAX 从数据库到dataTables获取下拉更改事件数据

nr7wwzry  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(110)

使用 AJAX 将数据从数据库提取到datatables。
当使用 AJAX 使用简单的下拉更改事件时,控制器和模型工作正常,但当尝试将数据提取到dataTables时,则显示错误
无可用数据
控制器:

public function getStudents()
  {
      $model = new ModelAjax();
      $sessionid = $this->request->getVar('sessionid');
      $classid = $this->request->getVar('classid');
      $data =  $model->getStudents($sessionid,$classid);
      echo json_encode($data);
  }

产品型号:

public function getStudents($sessionid,$classid)
    {
        $model = new ModelStudent();
        $array = ['sessionid' => $sessionid, 'classid' => $classid];
        $data = $model->select('tblstudent.studentname,tblstudent.fathername, tblstudent.rollno ,tblstudent.mobile1')
        ->join('tblenrollment','tblstudent.id = tblenrollment.studentid','left')
        ->where($array)
        ->findAll();
        return $data;
    }

脚本:

$("#classid").change(function(){
        var sessionid = $("#sessionid").val();
        var classid = $(this).val();
    $('#example').DataTable({
        ajax: {
            url: "<?php echo site_url('Ajax/getStudents'); ?>",
            type: "POST",
            data: function(d){
                d.sessionid = $("#sessionid").val();
                d.classid = $("#classid").val();
            }
        },
        dom: 'Bfrtip',
              iDisplayLength: 15,
              buttons: [
                  'copyHtml5',
                  'excelHtml5',
                  'csvHtml5',
                  'pdfHtml5',
                  'pageLength'
              ],
              search: true
        
    });
    });
2q5ifsrm

2q5ifsrm1#

终于成功地做到了:

$("#classid").change(function(){
        var sessionid = $("#sessionid").val();
        var classid = $(this).val();
        $.ajax({
                url : "<?php echo site_url('Ajax/getStudents'); ?>",
                method : "POST",             
                data : {sessionid: sessionid, classid: classid},
                async : true,
                dataType : 'json',
                success: function(data)
                {

                    $('#example').DataTable({  
            destroy: true,    
            data : data, 
            columns: [
                     { data: 'studentname', title: "StudentName" },
                     { data: 'fathername', title: "Father Name" },
                     { data: 'rollno', title: "RollNo" },
                     { data: 'mobile1', title: "Mobile" }
                ],   
            dom: 'Bfrtip',
                iDisplayLength: 15,
                buttons: [
                    'copyHtml5',
                    'excelHtml5',
                    'csvHtml5',
                    'pdfHtml5',
                    'pageLength'
                ],
                search: true
         });

                }
                                
            });
            return false;   
    });

相关问题