数据属性(ajax.dataSrc)

起始版本号: 1.10.0

表格数据属性或操作方法

说明

ajaxOption 选项基本继承了 jQuery.ajax 所有的选项,但是Datatables额外提供了 dataSrc属性来改变从服务器返回的数据给Datatables,或者是操作数据从一种形式转换成另一种形式(比如xml、json、yaml等)。 这么做是因为 ajaxOption success 选项不能被改变-Datatables内部自己加载数据完成时使用。

数据类型

字符串(string)

描述:

作为一个字符串, dataSrc定义为从数据源获取什么样的数据对象加载给Datatables(比如ajax请求返回包含多个数据对象)

如果ajax返回的是一个数组,不是一个对象,将此字符串设置为空字符串即可

此外你也可以使用javascript对象符号来标示数据源里对象的层次

函数(function) ajax.dataSrc( data )

描述:

作为一个函数, dataSrc 可以操作从服务器返回的数据转化成另一种。 例如, 如果数据被分隔在多个数组里面,你需要合并到一个数组返回给Datatables处理后显示

非json格式的数据(xml,yaml等等),可以通过 dataSrc来转换成javascript数组交给Datatables显示

参数:
返回:

返回Datatables使用的数据数组

默认

数据源中包含data属性(或者是 aaData,如果 data不存在,向后兼容 )

示例

通过 Ajax,从一个文件获取 JSON 数据,使用 dataSrc属性把 data改为 tableData (比如: { tableData: [ ...data... ] }

1
2
3
4
5
6
$('#example').dataTable( {
  "ajax": {
    "url": "data.json",
    "dataSrc": "tableData"
  }
} );

通过 Ajax,从一个文件获取 JSON 数据,通过 dataSrc 设置为空字符串,不从数组对象里获取,而是从数组里获取 (比如: { [ ...data... ] }

1
2
3
4
5
6
$('#example').dataTable( {
  "ajax": {
    "url": "data.json",
    "dataSrc": ""
  }
} );

操作从服务器返回的数据,给数据添加链接(提示,这里也可以使用 columns.renderOption 来实现,这里只是举个例子如何操作数据 )

1
2
3
4
5
6
7
8
9
10
11
$('#example').dataTable( {
  "ajax": {
    "url": "data.json",
    "dataSrc": function ( json ) {
      for ( var i=0, ien=json.data.length ; i<ien ; i++ ) {
        json.data[i][0] = '<a href="/message/'+json.data[i][0]+'">View message</a>';
      }
      return json.data;
    }
  }
} );

相关

下面的选项是直接相关的,也可能是您的应用程序的开发非常有用。

http://datatables.net/reference/option/ajax.dataSrc

Translation from DataTables.net, with permission
ajax.dataSrc 1不定时一讲 ajax.dataSrc 2不定时一讲