数据表& serverside - 如何将不同的变量传递给每个ajax?

时间:2018-02-18 16:36:23

标签: jquery datatables-1.10

我在一个页面中有3个数据表。所有代码都相同(相同的colomns,相同的ajax调用,相同的PHP服务器代码),除了我想在每个ajax调用上传递不同的参数。

每个表都有一个不同的data-status属性,这是我需要传递给ajax然后传递给服务器端的这个属性。

<table data-status="4" class="ajax-table table table-hover table-condensed table-striped bootstrap-datatable table-bordered">
  <thead>
    <tr>
      <!-- ... -->
$("#table1").DataTable( {
  dom: "<'tableTools'B><''<'col-md-6'l><'col-md-6'f>r>t<''<'col-md-6'i><'col-md-6'p>>",
  autoWidth: false,
  stateSave: true,
  // paging: true,
  buttons: [
    'copyHtml5',
    'excelHtml5',
    'csvHtml5',
    'pdfHtml5',
    {
      text: 'Reload',
      action: function (e, dt, node, config) {
        dt.ajax.reload();
      }
    }
  ],
  // ...
  processing: true,
  serverSide: true,
  ajax: {
    url : "ajaxCalendarFnc.php", // json datasource
    type: "POST",  // method  , by default get
    data: function (d) {
      d.func = "getReservations";
      d.status = $("#table1").attr("data-status");
      d.ghostonly = false;
    },

我尝试了多种解决方案,例如here

$('.table.jobs').each(function() {
  $('#' + $(this).attr('id')).dataTable({
    url: '/my-url',
    dataSrc: function (json) {    
      return json.data
    },
    data: function(data) {
      data.table_id = $table.attr('id');
      // gives the same id for all tables
    }
  });

但是我找不到办法做到这一点。

0 个答案:

没有答案