Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果我使用codeigniter,如何使用html格式的ajax响应生成datatable?_Php_Jquery_Ajax_Datatables_Codeigniter 3 - Fatal编程技术网

Php 如果我使用codeigniter,如何使用html格式的ajax响应生成datatable?

Php 如果我使用codeigniter,如何使用html格式的ajax响应生成datatable?,php,jquery,ajax,datatables,codeigniter-3,Php,Jquery,Ajax,Datatables,Codeigniter 3,我试着进行下拉搜索。。如果我使用codeigniter,如何使用html格式的ajax响应生成datatable 我尝试过控制台在响应ajax中显示html,它可以工作,但响应数据无法在datatable上运行 这是我的ajax和php代码 $(document).ready(function(){ $('#example').DataTable(); $("#periode1").on('change', function(){ var value = $(this).va

我试着进行下拉搜索。。如果我使用codeigniter,如何使用html格式的ajax响应生成datatable

我尝试过控制台在响应ajax中显示html,它可以工作,但响应数据无法在datatable上运行

这是我的ajax和php代码

$(document).ready(function(){
  $('#example').DataTable();
  $("#periode1").on('change', function(){
      var value = $(this).val();

      $.ajax({
        url: '<?= base_url('Kriteria/getPost') ?>',
        type: 'POST',
        data: 'request='+value,
        success:function(data)
        {
          console.log(data);
          $("#tampil_kriteria").html(data);
          $('#example').DataTable();
        }
      });

  });
});

一个可能的解决办法是: 以JSON格式将php脚本的结果编码为:

{
   "data": [
    {
      "title": "Manajemen Data",
      "title2": "Satou",
      "user": "Accountant",
      "periode": "Tokyo",
     ......
    },
    {
     "title" : "myTitle2",
     ..........
    }
  ]
}
将Jquery函数更改为:

$('#example').DataTable( {
        "processing": true,
        "serverSide": true,
        "ajax": {
            "url": "myPhpScript.php",
            "type": "POST"
        },
        "columns": [
            { "data": "title" },
            { "data": "title2" },
            { "data": "user" },
            { "data": "periode" },
           ..........
        ]
    } ); 

其中,标题,标题2,用户,周期。。。HTML代码中列的名称是否为

tampil_kriteria是否在数据表中?初始化数据表之后,里面的数据不能仅仅通过引用元素并更改其内容来操作,因为DataTables已经创建了它自己的数据结构。提供html代码您可以通过服务器端处理数据表来完成,因为当我使用本机php时,这是ajax工作得很好,但当我使用codeigniter时,它不工作查看您的工作本机PHP版本。在codeigniter版本中,Datatables无法处理的响应是什么?你的页面是否加载了jquery等,这是一个很长的列表。AJAX中的URL设置正确吗?AJAX代码必须首先创建一个字段,如果我创建的字段是动态的呢?什么是动态的?您的意思是在检索数据之前不知道列?如果是这样,您可以尝试通过Jquery以编程方式在HTML中添加列,然后将值推送到datatable实例中
$('#example').DataTable( {
        "processing": true,
        "serverSide": true,
        "ajax": {
            "url": "myPhpScript.php",
            "type": "POST"
        },
        "columns": [
            { "data": "title" },
            { "data": "title2" },
            { "data": "user" },
            { "data": "periode" },
           ..........
        ]
    } );