【发布时间】:2016-04-25 12:23:42
【问题描述】:
我正在使用jQuery Datatable 来显示数据库中的数据。我正在使用 ajax 来获取数据。所以情况就像我有引导选项卡。因此,当用户单击任何选项卡时,它将显示与选项卡对应的数据。所以我的jQuery代码是这样的
$('a.communication-data[data-toggle="tab"]').on('click', function(e) {
$('#get_communication').dataTable().fnDestroy();
var proj_id = $('input#user_project_id').val();
var communicationTable = $('#get_communication').dataTable();
$('#get_communication').dataTable({
"processing": true,
"serverSide": true,
"bDestroy": true,
"iDisplayLength" : trans.show_rows,
"ajax": ajaxUrl+"?action=get_communication_history&proj_id="+proj_id,
language: {
searchPlaceholder: "Search.."
}
});
});
这里的数据表显示了几秒钟的旧数据,之后它第一次显示了实际数据。当用户再次检查标签而不重新加载页面时,它会显示正确的数据。 那么有人可以告诉我为什么会发生这个问题吗?如何解决这个问题?任何帮助和建议都将非常可观。谢谢
【问题讨论】:
-
ajax调用前datatable的内容是什么
-
也许您的请求尚未从服务器返回,而在处理请求时您仍然看到旧数据?
-
@VelimirTchatchevsky ajax调用前没有设置内容。
-
@Justinas 你能告诉我如何在我点击标签按钮后立即清除旧数据吗?
-
它向您显示上次访问的“本地存储”中的内容...浏览器可以加载本地副本(上次访问的网络副本)以更快地查看,然后检查是否有服务器和加载的副本之间的变化,如果是这样,它会更新,你应该不会注意到它,所以我想还有别的东西......我遇到了类似的问题,因为我使用 GET 而不是 POST 来请求数据...
标签: php jquery ajax datatables