我是数据表新手(http://datatables.net/)。我需要根据 ajax 调用结果的计算添加列。我尝试了以下方法,但收到错误“数据表从行的数据源请求未知参数”。对于这种需求来说,这是正确的方法吗?我将非常感谢您在这方面的帮助。 这是表结构的样子:
<table id="result" class="show_hide">
<thead>
<tr>
<th>Time1</th>
<th>Time2</th>
<th>Elapsed Time</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
这是我的 ajax 调用的示例输出:
[{
"time1": 12345,
"time2": 56789
},
{
"time1": 2000,
"time2": 3000
}]
这就是我正在尝试使用数据表
$('#result').dataTable({
"sAjaxSource": "http://" + hostname + ":" + port + api,
"sAjaxDataProp": "",
"iDisplayLength": 25,
"bRetrieve": true,
"sPaginationType": "full_numbers",
"aoColumns": [{
"mDataProp": "time1"
},
{
"mDataProp": "time2"
},
{
"mRender": function(data, type, row) {
return (row.time2 - row.time1);
},
"mDataProp": null
}
]
});
最佳答案
正如您在 documentation 中看到的那样您必须从服务器返回一个具有某些必需属性的对象。
所以你应该返回类似的内容
{ iTotalRecords : 2, iTotalDisplayRecords: 2, aaData: [{
"time1": 12345,
"time2": 56789
},
{
"time1": 2000,
"time2": 3000
}]
}
关于Jquery数据表: Unable to add new column based on result of ajax call - Getting error datatable requested unknown parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12629648/