DataTables ajax请求中的非表json值

时间:2014-12-14 20:26:02

标签: jquery ajax json jquery-datatables

我通过ajax填充'DataTable'表并且工作正常。但是,我还想返回一个以管道分隔的序列化唯一ID字符串,这些ID形成要显示的行。我在标准的ajax调用中使用dataSrc选项:

$('#displayRecords').dataTable( {
    "lengthMenu": [ [10, 25, 50, 100, -1], [10, 25, 50, 100, "All"] ],
    "ajax": {
    "url": "globalJSON/recordsTable.php",
    "dataSrc": "recordsTable"
    }
});

这样可以在json返回的recordsTable数组之上工作,我也想获取字符串'recordsSerialised',显然在更广泛的范围内使用它。

我认为使用ajax调用作为函数是答案,但我不确定如何实现它。文档读起来好像我只是通过替代$ .ajax,$ .post,$ .whatever获取json并将返回值传递给函数变量。任何人都可以验证我是在正确的路线上。如果没有,任何建议或更正都会很棒。

1 个答案:

答案 0 :(得分:1)

你走在正确的轨道上。只要您dataSrc DataTable的相应数据,您可以为return调用函数。假设您的json响应包含2个数组recordsTablerecordsSerialized

$('#displayRecords').dataTable({
  "ajax": {
    "lengthMenu": [ [10, 25, 50, 100, -1], [10, 25, 50, 100, "All"] ],
    "url": "globalJSON/recordsTable.php",
    "dataSrc": function (json) {
      // do something with json.recordsSerialized here
      return json.recordsTable;
    }
  }
});

我确定你已经看过这个了但是这里仍然是文档的链接:https://datatables.net/reference/option/ajax