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

时间:2018-08-14 19:18:48

标签: javascript jquery ajax datatables

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

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

但这会导致2次调用ajax调用到服务器。服务器已经在两个调用中返回了两个表的数据。如何合并多个重载,以便只用一次调用即可更新两者?

1 个答案:

答案 0 :(得分:2)

  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);
  });