Php 如果我使用codeigniter,如何使用html格式的ajax响应生成datatable?
我试着进行下拉搜索。。如果我使用codeigniter,如何使用html格式的ajax响应生成datatable 我尝试过控制台在响应ajax中显示html,它可以工作,但响应数据无法在datatable上运行 这是我的ajax和php代码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
$(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" },
..........
]
} );