javascript - jQuery 通过 1 次调用重新加载多个数据表

标签 javascript jquery ajax datatables

我在同一页面上有 2 个数据表。我正在使用 reload 来重新加载它们:

setInterval( function () {
    jQuery('#tablepress-1').DataTable().ajax.reload();
    jQuery('#tablepress-2').DataTable().ajax.reload();
}, 30000 );

但这会导致 2 个对服务器的 ajax 调用。服务器已在两次调用中返回两个表的数据。如何组合多次重新加载,以便仅调用 1 次即可更新两者?

最佳答案

  1. 创建 JSON 调用
  2. 并在一次 ajax 调用中发送这两个内容。
  3. 成功后,获取这两个数据并初始化数据表。

示例:

// Use the Fetch Api (no library)
fetch('/your/path').then(function(data) {
      $('.table1').html(data.table1);
      $('.table2').html(data.table2);
      //now initialise the tables
});

// Or use jQuery (better support)
$.ajax({
  method: 'POST',
  url: '/your/path',
  data: {}
})
  .done(function( data ) {
    $('.table1').html(data.table1);
    $('.table2').html(data.table2);
  });

关于javascript - jQuery 通过 1 次调用重新加载多个数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51848416/

相关文章:

ajax - 如何在服务器上启用跨域请求?

javascript - 使用 Highcharts 在仪表图上显示更多数据

javascript - Google Graphs IE11 appendChild 不工作

javascript - 点击div聚焦输入

javascript - 解除绑定(bind)涉及从 DOM 中删除 jquery 的点击事件

c# - MVC 访问控制允许来源

javascript - 单击时使用 Angular JS 或 JS 显示隐藏链接

javascript - 谷歌地图不显示标记的描述

javascript - 让谷歌地图出现在特定的 div 中

ajax - Delphi 桌面应用程序的 Web UI