如何解析从Datatables ajax调用收到的JSON?

gdr*_*drt 9 javascript ajax jquery json datatables

我可以使用ajax调用成功填充我的数据表,但后来我不知道如何解析数据表通过此ajax调用接收的JSON.

这是我的JavaScript代码,它对服务器进行ajax调用并正确填充我的数据表:

$('#transactions').DataTable({
        "processing": true,
        "ajax": {
            "url": "/transactions
        },
        "columns": [
            { "data": "car"},
            { "data": "card_number"},
            { "data": "invoice"},
            { "data": "status"}
        ]
    });
Run Code Online (Sandbox Code Playgroud)

这是从服务器返回的JSON对象:

{
  "data": [
    {
      "car": 190,
      "card_number": "6395637",
      "invoice": 200,
      "status": "success"
    },
    {
      "car": 191,
      "card_number": "9473650",
      "invoice": 180,
      "status": "success"
    }
  ],
  "balance": 7300
}
Run Code Online (Sandbox Code Playgroud)

如您所见,datadatatables函数使用返回的JSON对象的参数来填充数据表,现在我想解析balance参数,但我不能.我怎样才能实现这一目标?

dek*_*ard 25

像这样的东西:

$('#transactions').dataTable({
    "ajax" : {
        "url" : "/transactions",
        "dataSrc" : function (json) {
            // manipulate your data (json)
            ...

            // return the data that DataTables is to use to draw the table
            return json.data;
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

文档:https://datatables.net/reference/option/ajax.dataSrc


Jua*_*des 6

不要使用DataTable的url功能,自己进行Ajax调用

$.getJSON('/transactions', function(response) {
  $('#transactions').dataTable({
    processing: true,
    data: response.data,
    columns: [
      { data: "car"},
      { data: "card_number"},
      { data: "invoice"},
      { data: "status"}
    ]
  });
  window.someGlobalOrWhatever = response.balance
});
Run Code Online (Sandbox Code Playgroud)