我使用jquery.dataTables.js版本1.10.0构建DataTable。我正在使用分页处理服务器处理,除了一件事外,一切都很好。当我刷新浏览器(Chrome或IE 10)时,不会执行ajax代码来刷新表格。因为这个桌子也不爽。如果我使用浏览器返回或转发,它可以很好地工作。在浏览器刷新时Ajax调用不在DataTable中
有什么特别的我需要做的强制DataTable重新加载浏览器刷新?
这里是我的dataTable声明:
var dataTable = table.dataTable({
"retrieve": true,
"lengthMenu": [ [10, 30, 50, -1], [10, 30, 50, "All"] ],
"serverSide": true,
"paging": true,
"searching":false,
"pageLength": 30,
"columns": [ {
"sTitle": "col1"
}, {
"sTitle": "col2"
} ],
"dom": '<"top"if>rt<"bottom"lp><"clear">',
"ajax": {
// set up input parameters
"data": function(data) {
var length = table.dataTable().api().page.len();
var url = baseUrl + '/' + data.start + '/' + length;
table.dataTable().api().ajax.url(url);
draw = data.draw;
return {};
},
"url": baseUrl, //will be reset by data function
"dataFilter": function(data,type) {
var results = {};
.... //reformat the REST response for DataTable
return JSON.stringify(results);
},
"dataSrc": function(data) {
// hide length menu if records are less than minimum display
if (data.recordsTotal <= 10) {
$('#' + callType + relNcid + '_length').hide();
}
// hide page menu if all records fit on this page
if (data.recordsTotal <= table.dataTable().api().page.len()) {
$('#' + callType + relNcid + '_paginate').hide();
} else {
$('#' + callType + relNcid + '_paginate').show();
}
table.addClass('table table-condensed');
$anchorScroll();
return transformRelDataForTable(data.data);
}
}
});
这段代码被浏览器刷新但是执行的,当我把在“画”功能突破点或“dataFilter”功能,它永远不会打破。
我使用jQuery的 1.11.0 AngularJS 1.2.13