最近项目使用datatable,但是刷新遇到了问题,试过fnDraw等函数没有反应,datatable官方api是用ajxa.reload,但是会报没有定义ajax。
还有这个api解释中:
var table = $('#example').DataTable( {
ajax: "data.json"
} );
setInterval( function () {
table.ajax.reload();
}, 30000 );
data.json我不太明白是哪个数据,是重新刷新要赋给的数据?,那要怎么传进去呢
下面贴一下我的代码:
jQuery.ajaxSetup({ headers: { Authorization: 'MDphZG1pbg=='} });
jQuery(function($) {
oTable1 = $('#sample-table-2').DataTable( {
/*"columnDefs": [{
"defaultContent": "-",
"targets": "_all"
}],*/
"sAjaxDataProp":"data",
ajax: aa,
/*"sPaginationType": "full_numbers",*/
/*"sAjaxSource":"http://123.56.93.33:8088/kiunion-data-provider/ws/users/1",*/
"sAjaxSource":"http://123.56.93.33:8088/kiunionSer/ws/v1.0/vehicleBaseInfo/searchByEnterprise?enterpriseId=1",
"bProcessing" : true,
"bServerSide": true,
"bAutoWidth":true,
"fnServerData": function ( sSource, aoData, fnCallback ) {
$.ajax( {
"dataType": 'json',
"type": "GET",
"url": sSource,
"data": aoData,
"success":fnCallback,
} );
"aoColumns": [
{ mData: 'VehicleID' },
{ mData: 'VehicleID' },
{ mData: 'StatusID' },
{ mData: 'PlateNumber' },
{ mData: 'SeqNumber' },
{ mData: 'TeamID' },
{ mData: 'VehicleID' }
],
"aoColumnDefs": [
{
"aTargets": [0],
"mRender": function(data, type, full) {
return "<td><label><input type='checkbox'class='ace' /><span class='lbl'></span></label></td>";
}
},
],
"aLengthMenu": [10,20,30,40,50, 100],
"oLanguage": {
"sLengthMenu": "每页显示 _MENU_ 条记录",
"sZeroRecords": "抱歉, 没有找到",
"sInfo": "从 _START_ 到 _END_ /共 _TOTAL_ 条数据",
"sInfoEmpty": "没有数据",
"sInfoFiltered": "(从 _MAX_ 条数据中检索)",
"oPaginate": {
"sFirst": "首页",
"sPrevious": "前一页",
"sNext": "后一页",
"sLast": "尾页"
},
"sZeroRecords": "没有检索到数据",
"sProcessing": "<img src=’./loading.gif’ />"
}
} );
$("#acecom").on('click',function(){
console.log("reload");
oTable1.ajax.reload();
})
})
table.ajax.reload();是1.10+版本的api,你的位置是1.9-的,这2个是分水岭版本。
1.9+用 oTable1.fnDraw()来更新
$("#checkResultList").dataTable({
"bProcessing" : true,
'bServerSide' : true,
'fnServerParams' : function(aoData) {
//获取考核类型
var checkType = $("#checkPrj").val();
var managerName = $.trim($("#managerName").val());
if(managerName == ""){
managerName = null;
}
aoData.push({
"name" : "checkType",
"value" : checkType
},
{
"name" : "managerName",
"value" : managerName
}
);
},
"sAjaxSource" : basePath + "checkTask/showCheckResultList.action",// 获取管理员列表
"sServerMethod" : "post",
"sPaginationType" : "full_numbers",
"bPaginate" : true, // 翻页功能
"bStateSave" : false, // 状态保存
"bLengthChange" : false, // 改变每页显示数据数量
"bFilter" : false, // 过滤功能
"bSort" : false, // 排序功能
"bInfo" : true,// 页脚信息
"bAutoWidth" : false,// 自动宽度
"bDestroy" : true,
"iDisplayLength" : 6, // 每页显示多少行
"aoColumns" : [
//指定列
http://my.oschina.net/crazyharry/blog/356337
http://www.jb51.net/article/36986.htm