2016-09-13 41 views
-1

我需要在DB中保存数据表的状态。我想在按下按钮时保存状态按钮我应该在保存状态按钮的单击事件时做什么?我必须重写哪些函数来将ajax请求发送到包含datatable状态的服务器?我也想从DB中加载保存的状态。Jquery Datatable在数据库中保存状态不在客户端

+0

你是什么意思的“数据表的状态” – madalinivascu

+0

@madalinivascu DataTables可以保存表的状态(其分页位置,排序状态等),以便当用户重新加载页面,或者在访问子页面后返回页面。 –

+0

你为什么要把它保存到数据库? – madalinivascu

回答

0

使用stateSaveCallback回调

"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() {} 
    }); 

更多信息:https://datatables.net/reference/option/stateSaveCallback

对于装载作业stateLoadCallback回调

"stateLoadCallback": function (settings) { 
    var o; 
    $.ajax({ 
     "url": "/state_load", 
     "async": false, 
     "dataType": "json", 
     "success": function (json) { 
     o = json; 
     } 
    }); 

    return o; 
    } 

更多的信息:https://datatables.net/reference/option/stateLoadCallback

0

我假设通过“保存状态”你实际上意味着保存更改到数据库?

如果是这样,你希望在数据库中存储什么?

例如:

经典的场景是具有包含输入元素,如用户配置文件或联系表等形式..

你通常从客户端做什么,被捆绑你的表单输入数据并使用AJAX将其发送到服务器,然后在服务器端处理表单数据并最终保存到数据库(例如MySQL)。

原始的(和旧的)方法是在你的表单中有一个提交按钮,并确保设置你的表单的“动作”和“方法”属性 - 然后当点击提交按钮时,表单数据将提交到“action”属性中给出的路径,该属性是服务器上应具有用于处理数据并将数据存储在数据库中的服务器端代码的路径。

希望它可以帮助一点

+0

DataTables可以选择保存状态一个表(它的分页位置,排序状态等),以便在用户重新加载页面时可以恢复,或者在访问子页面后返回页面。 –