stateSaveCallback
自:DataTables 1.10 起
定义表格状态存储方式及位置的回调函数。
说明
DataTables 保存表格的状态(分页、过滤等),默认情况下,它会使用 HTML5 的 localStorage
来保存状态。当启用 stateSave
选项时,此回调方法允许你更改状态的保存位置(例如,你可能希望使用服务器端数据库或 Cookie)。
提供给函数的数据是一个具有以下结构的对象
{
"time": {number} // Time stamp of when the object was created
"start": {number} // Display start point
"length": {number} // Page length
"order": {array} // 2D array of column ordering information (see `order` option)
"search": {
"search": {string} // Search term
"regex": {boolean} // Indicate if the search term should be treated as regex or not
"smart": {boolean} // Flag to enable DataTables smart search
"caseInsensitive": {boolean} // Case insensitive flag
},
"columns" [
{
"visible": {boolean} // Column visibility
"search": {} // Object containing column search information. Same structure as `search` above
}
]
}
请注意,其他拓展可以向此结构添加额外信息,或者你可以使用 stateSaveParams
或 stateSaveParams
来添加你自己的参数。此外,存储的信息是类型敏感的 - 也就是说,DataTables 提供的数据的数据类型必须保留。例如,start
参数必须是 number
数据类型。
此方法只要求存储提供给它的数据。 stateSaveParams
方法用于操作实际上要保存的数据。
此回调函数与 stateLoadCallback
协同工作。此方法保存状态,而 stateSaveCallback
将从此回调函数保存的位置中加载状态。
类型
function stateSaveCallback( settings, data )
- 参数
名称 类型 可选 1 settings
否 DataTables 设置对象
2 data
否 要保存的数据。数据来自
stateSaveParams
示例
使用 Ajax 在服务器上保存状态
new DataTable('#myTable', {
stateSave: true,
stateSaveCallback: function (settings, data) {
// Send an Ajax request to the server with the state object
$.ajax({
url: '/state_save',
data: data,
dataType: 'json',
type: 'POST',
success: function () {}
});
}
});
相关
以下选项直接相关,在你的应用程序开发中也可能有用。