谁能告诉我如何使用fnServerData
?
$(document).ready( function() {
$('#example').dataTable( {
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "xhr.php",
"fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
oSettings.jqXHR = $.ajax( {
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
} );
}
} );
} );
下面是我的 Ajax 调用,我想用 fnServerData 替换 ajax 调用
。
$.ajax({
type: 'GET',
url: url,
jsonp: true,
contentType: "application/json",
dataType: 'jsonp',
success: function (data) {
$.each(data.value, function(i,item){
table.fnAddData(item);
});
},
error: function (e) {
console.log(e.message);
}
});
http://datatables.net/ref#fnServerData
什么是 sSource、fnCallback 和 oSettings?谁能告诉我如何使用fnServerData
?
最佳答案
sSource、fnCallback 和 oSettings 由 Datatables 生成。
sSource 是您的 ajax 调用的 url。当您初始化数据表时,您可以在 sAjaxSource 中指定它。因此,您应该将 url var 作为 sAjaxSource 传递。
oSettings 由 datatables js 创建和维护。它存储有关数据表状态的重要信息。详细文档可以在这里找到: https://datatables.net/docs/DataTables/1.9.0/DataTable.models.oSettings.html
但是我认为你的成功函数是不必要的。您应该在初始化期间指定 aoColumns 作为选项,然后数据表将为您填充数据。
$(document).ready( function() {
$('#example').dataTable( {
"aoColumns": [
{ "mData": "engine" },
{ "mData": "browser" },
{ "mData": "platform.inner" },
{ "mData": "platform.details.0" },
{ "mData": "platform.details.1" }
]
}),
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": url,
"fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
oSettings.jqXHR = $.ajax( {
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback,
"error": function (e) {
console.log(e.message);
}
});
}
});
});
有关 aoColumns 的更多信息:http://www.datatables.net/usage/columns 另外,请查看数据表页面上的示例。你需要的任何东西都应该有一个例子: http://www.datatables.net/usage/columns
问候, 萨兹
<小时/>关于jquery - 如何使用fnServerData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22105762/