Php Jquery DataTables:数据未通过Ajax显示在表中
我的问题是Jquery DataTables在加载时挂起,不会显示php脚本中的任何数据: 这是我的HTML:Php Jquery DataTables:数据未通过Ajax显示在表中,php,jquery,ajax,datatable,datatables,Php,Jquery,Ajax,Datatable,Datatables,我的问题是Jquery DataTables在加载时挂起,不会显示php脚本中的任何数据: 这是我的HTML: <!-- Default box --> <div class="box"> <div class="box-header with-border"> <h3 class="box-title">Time Management</h3> <div class="box-tools
<!-- Default box -->
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">Time Management</h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse" data-toggle="tooltip" title="Collapse">
<i class="fa fa-minus"></i></button>
<button type="button" class="btn btn-box-tool" data-widget="remove" data-toggle="tooltip" title="Remove">
<i class="fa fa-times"></i></button>
</div>
</div>
<div class="box-body">
<table id="example" class="table table-bordered table-hover">
<thead>
<tr>
<th>ID</th>
<th>Clock In</th>
<th>Lunch Started</th>
<th>Lunch Ended</th>
<th>Clock Out</th>
</tr>
</thead>
</table>
</div>
<!-- /.box-body -->
<div class="box-footer">
Footer
</div>
<!-- /.box-footer-->
</div>
<!-- /.box -->
在您收到的json中,没有
数据
属性
如果可以修改json的生成方式,请将所有对象放置在数据对象中。。。如中提供的示例所示:
或者,如果您无法修改json,请尝试以下操作:(我没有测试这个…您必须尝试)
编辑
只是为了确保json没有问题…
尝试从另一个ajax请求请求它(作为测试):
如果结果正常,我们将围绕Datatable进行调查。
想法是缩小问题的范围…
;) 根据Louys Patrice Bessette的建议,在PHP方面,我将数组转换为json对象,而不是json数组。一、 然后我取消了选项。因此,不是:
$('#example').DataTable({
"ajax": "url",
"columns" : [
{"data": "keyname"},
{"data": "keyname"},
]
})
我做到了:
$('#example').DataTable({
ajax: "url",
columns : [
{"data": "keyname"},
{"data": "keyname"},
]
})
我还删除了dataSrc
选项。所以这是一篇文章而不是一个get?这行吗?ajax:{url:'api/timemanageprocess.php',type:'GET',dataSrc:'''}@BryanDellinger不幸的是,它不是。所以你确实看到了“ajax:'api/blahblahblah”,而我认为它应该是ajax:{url:yoururl,键入:'POST',dataSrc:'},剩下的时间stuff@BryanDellinger我曾经尝试过,可惜数据没有填充到表中。我使用>将数组变成了数据对象,数据表无法识别新格式化的信息。我还尝试了第二种可能的解决方案,它不起作用。它的结构是否合理?(使用对象的“数据”数组?是的。它是这样的:{“数据”:[{“传递ID”:“5”,“时钟输入”:“2017-08-10 23:27:13”,“开始午餐”:“2017-08-12 12:58:59”,“结束午餐”:“0000-00-00:00:00”,“时钟输出”:“0000-00-00:00:00”}.)}我想感谢您对我的帮助。我很感激!删除dataSrc以及ajax和列周围的双引号,实际上填充了表,这很奇怪。与Data Tables网站上的示例完全不同。
{
"data": [
{
"name": "Tiger Nixon",
"position": "System Architect",
"salary": "$320,800",
"start_date": "2011/04/25",
"office": "Edinburgh",
"extn": "5421"
},
/...
"columns": [
{"PASS_ID"},
{"CLOCK_IN"},
{"START_LUNCH"},
{"END_LUNCH"},
{"CLOCK_OUT"}
],
});
$.ajax({
url: "api/timemanageprocess.php",
method: "post",
dataType: "json",
success: function(response){
console.log( JSON.stringify(response) );
},
error: function(request, status, errorThrown){
console.log(errorThrown);
}
});
$('#example').DataTable({
"ajax": "url",
"columns" : [
{"data": "keyname"},
{"data": "keyname"},
]
})
$('#example').DataTable({
ajax: "url",
columns : [
{"data": "keyname"},
{"data": "keyname"},
]
})