表格数据属性或操作方法
ajaxOption
选项基本继承了
jQuery.ajax
所有的选项,但是Datatables额外提供了
dataSrc
属性来改变从服务器返回的数据给Datatables,或者是操作数据从一种形式转换成另一种形式(比如xml、json、yaml等)。
这么做是因为
ajaxOption
的 success
选项不能被改变-Datatables内部自己加载数据完成时使用。
作为一个字符串, dataSrc
定义为从数据源获取什么样的数据对象加载给Datatables(比如ajax请求返回包含多个数据对象)
如果ajax返回的是一个数组,不是一个对象,将此字符串设置为空字符串即可
此外你也可以使用javascript对象符号来标示数据源里对象的层次
作为一个函数, 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; } } } ); |
下面的选项是直接相关的,也可能是您的应用程序的开发非常有用。
Translation from DataTables.net, with permission
ajax.dataSrc 1不定时一讲
ajax.dataSrc 2不定时一讲