Tou*_*afi 6 jquery json datatables yii2
我正在使用jQuery DataTables和服务器端处理模式.但我面临着数据表的问题,我在Datatables文档中搜索了所有内容,但找不到我的答案.
所以问题是我从服务器获得响应,就像这样:
正如您在此JSON响应中所看到的,JSON所需的data.data数据表是在数据表中设置此数据源,有一个属性是Custom Data Property,它工作正常并显示行.现在问题是数据表没有考虑JSON的分页参数,这就是它显示的原因:
请注意,我无法从服务器端更改JSON响应.
更新: 这是js调用脚本:
$(document).ready(function () {
$("#example").dataTable({
"ajax": {
url: app.getApiUrlWithAccessToken('lead/get_all'),
dataSrc: function(json){
return json.data.data;
}
},
"lengthMenu": [1,2,5,10,15],
"columns": [
{ "data": "first_name" },
{ "data": "last_name" },
{ "data": "title" },
{ "data": "email" },
{ "data": "city" },
{ "data": "status" }
],
"processing": true,
"serverSide": true
});
});
Run Code Online (Sandbox Code Playgroud)
在服务器端处理模式中,DataTables期望返回数据中的某些结构.参数draw,recordsTotal而recordsFiltered应该是顶级属性.您的响应将这些参数作为子属性data,而不是DataTables寻找它们的位置.
设置参数draw,recordsTotal并recordsFiltered作为DataTables期望的JSON响应的顶级属性.
使用以下代码ajax.dataSrc选项:
dataSrc: function(json){
json.draw = json.data.draw;
json.recordsTotal = json.data.recordsTotal;
json.recordsFiltered = json.data.recordsFiltered;
return json.data.data;
}
Run Code Online (Sandbox Code Playgroud)
有关代码和演示,请参阅此jsFiddle.
| 归档时间: |
|
| 查看次数: |
6120 次 |
| 最近记录: |