我的mvc应用程序中有一个视图,它使用datatables.net作为页面上的表格。我有一个ajax调用,在一段时间后刷新一页,工作正常。令我困惑的部分是,随着时间的流逝,它变得越来越不敏感,并且在我完全重新加载页面之前变得不可用。我发现滞后是由ajax成功调用表重绘引起的。我目前没有使用服务器端处理,并且使用DOM作为表的数据源。关于真正的问题是什么以及如何解决它的任何想法将非常感激。
主视图中的部分内容通过ajax调用进行更新:
<div id="issues-management">
@Html.Partial("_IssuesManagement", Model)
</div>
主视图上的Javascript函数:
$(document).ready(function () {
$.ajaxSetup({ cache: false });
setInterval(function () {
$.ajax({
url: "@Url.Action("Issues","Tier2")",
type: 'GET',
dataType: 'html',
success: function(result)
{
$('#issues-management').html(result);
//Redraw tables on page load
$('#pending-issues-table').DataTable().draw(false);
$('#inprogress-issues-table').DataTable().draw(false);
$('#followup-issues-table').DataTable().draw(false);
}
})
}, 5000);
//Global functions to initialize and draw table on initial page load
initDataTableNet('#pending-issues-table', 1040, 480);
initDataTableNet('#inprogress-issues-table', 1040, 480);
initDataTableNet('#followup-issues-table', 1040, 480);
});
答案 0 :(得分:0)
请测试一下,让我知道结果:
var process;
setInterval(function () {
process = $.ajax({
url: "@Url.Action("Issues","Tier2")",
type: 'GET',
dataType: 'html',
success: function(result)
{
$('#issues-management').html(result);
//Redraw tables on page load
$('#pending-issues-table').DataTable().draw(false);
$('#inprogress-issues-table').DataTable().draw(false);
$('#followup-issues-table').DataTable().draw(false);
process = null;
}
})
}, 5000);