2015-11-06 94 views
7

加载jQuery数据表时,我有如下所示的代码。如何将其他参数传递给AJAX调用?下面的问题和答案中建议的fnServerParams回调不起作用。也就是说,天真地使用aodata.push()导致“push is undefined”(因为aodata的确不是数组)。那么做到这一点的正确方法是什么?如何将其他参数传递给jQuery DataTable ajax调用?

相关问题:

代码:

self.dataTable = self.dataTableContainer.DataTable({ 
      "autoWidth": false, 
      "bSort": false, 
      "displayStart": 0, 
      "paging": false, 
      "lengthChange": false, 
      "processing": true, 
      "serverSide": true, 
      "dom": "<'dataTables_header dashboard_alert_history__alertHeader'i>", 
      "ajax": { 
       url: getDataUri, 
       error: onError, 
       cache: false, 
       "fnDrawCallback": onTableDrawn, 
      }, 
      "fnDrawCallback": onTableDrawn, 
      "language": { 
       "info": resources.alarmHistory, 
       "infoEmpty": resources.alarmHistory, 
       "infoFiltered": '' 
      }, 
      "columns": [ 
       { 
        "data": "timestamp", 
        "mRender": function (data) { 
         return IoTApp.Helpers.Dates.localizeDate(data, 'L LTS'); 
        }, 
        "name": "timestamp" 
       }, 
       { 
        "data": "deviceId", 
        "mRender": function (data) { 
         return htmlEncode(data); 
        }, 
        "name": "deviceId" 
       }, 
       { 
        "data": "ruleOutput", 
        "mRender": function (data) { 
         return htmlEncode(data); 
        }, 
        "name": "ruleOutput" 
       }, 
       { 
        "data": "value", 
        "mRender": function (data) { 
         return htmlEncode(IoTApp.Helpers.Numbers.localizeFromInvariant(data)); 
        }, 
        "name": "value" 
       }, 
      ], 
      "columnDefs": [ 
       { 
        "targets": [0, 1, 2, 3], 
        "className": 'table_alertHistory_issueType', 
        "width": "20%" 

       } 
      ], 
     }); 

回答

13

我忽略RTF M.对于版本1.9和更早版本,fnServerParams回调现在为legacy。在最新版本的DataTable中,您可以使用ajax数据参数as described in the DataTables documentation。在下面的例子中,附加mykeyd对象会做的伎俩:

$(document).ready(function() { 
    $('#example').DataTable({ 
     "processing": true, 
     "serverSide": true, 
     "ajax": { 
      "url": "scripts/server_processing.php", 
      "data": function (d) { 
       d.myKey = "myValue"; 
       // d.custom = $('#myInput').val(); 
       // etc 
      } 
     } 
    }); 
}); 
+0

谢谢你,帮我在正确的运动.. –

+1

@EdathadanChiefakaArun我相信你的意思是“时刻”,虽然一个很好的“运动“对宪法有帮助! – Brett

相关问题