Я строю DataTable с помощью jquery.dataTables.js версии 1.10.0. Я использую обработку серверов с разбивкой на страницы, и все работает чудесно, кроме одного. Когда я обновляю браузер (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