数据似乎有问题,因为我在执行以下操作时获得了Requested unknown parameter 2 for row 0
:
var items = $('#items').DataTable({
dom: "<'row'<'col-md-6'l><'col-md-6'f>r>t<'row'<'col-md-6'i><'col-md-6'p>>",
paginationType: "full_numbers",
language: {
lengthMenu: "_MENU_ items per page"
},
processing: true,
serverSide: true,
stateSave: true,
ajax: {
url: "items/data",
method: 'post'
},
columnDefs: [
{
targets: ['th-image'],
searchable: false,
data: 'image_url',
render: function (data, type, full) {
return '<img src="' + data + '" alt="thumbnail" class="img-thumbnail" />';
}
},
{
targets: ['th-manufacturer'],
data: 'manufacturer',
render: function (data, type, full) {
var manufacturer = data.substring(0, 40);
if (data.length > 40)
manufacturer += '...';
return manufacturer;
}
},
{
targets: ['th-title'],
data: 'title',
render: function (data, type, full) {
var title = data.substring(0, 40);
if (data.length > 40)
title += '...';
return title;
}
},
{
targets: ['th-actions'],
data: 'actions',
searchable: false,
sortable: false
},
{
targets: ['th-id'],
data: 'id',
searchable: true,
visible: false
}
]
});
在这张桌子上:
<table class="table table-striped table-bordered" id="items">
<thead>
<tr>
<th class="th-image">Image</th>
<th class="th-manufacturer">Manufacturer</th>
<th class="th-mpn">MPN</th>
<th class="th-upc">UPC</th>
<th class="th-title">Title</th>
<th class="th-actions">Actions</th>
</tr>
</thead>
<tbody></tbody>
</table>
字段image
,manufacturer
,title
和actions
都显示正确,但mpn
和upc
为空,尽管有值在服务器数据响应中。
我在使用相同类型的初始化值之前创建了这样的DataTables,而不需要columns
值,所以我可能会遗漏一些明显的东西,但我还没有找到它
DataTables 1.10.7。
答案 0 :(得分:0)
由于您要返回一组对象,因此您需要使用columns
或columnDefs
选项定义所有列数据。来自manual:
使用对象的缺点是你需要从每个列的对象中明确地告诉DataTables它应该使用哪个属性。这是使用
columns.data
和/或columns.render
选项完成的。
将mpn
和upc
数据属性的定义添加到columnDefs
,如下所示,以解决问题。
{
targets: ['th-mpn'],
data: 'mpn'
},
{
targets: ['th-upc'],
data: 'upc'
},